Leaked source code of windows server 2003
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
#ifndef _COWSITE_H_
#define _COWSITE_H_
#include <ocidl.h>
#define ATOMICRELEASE(p) \
{ \ IUnknown *pFoo = (IUnknown *)p; \ p = NULL; \ if (pFoo) \ pFoo->Release(); \ }
class CObjectWithSite : public IObjectWithSite { public: CObjectWithSite() {_punkSite = NULL;}; virtual ~CObjectWithSite() {ATOMICRELEASE(_punkSite);}
//*** IUnknown ****
// (client must provide!)
//*** IObjectWithSite ***
STDMETHOD(SetSite)(IUnknown *punkSite); STDMETHOD(GetSite)(REFIID riid, void **ppvSite);
protected: IUnknown* _punkSite; };
#endif
|