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.
|
|
//+-------------------------------------------------------------------
//
// File: oleobj.hxx
//
// Contents: COleObject declarations
//
// History: 24-Nov-92 DeanE Created
//
//---------------------------------------------------------------------
#ifndef __OLEOBJ_HXX__
#define __OLEOBJ_HXX__
//+-------------------------------------------------------------------
// Class: COleObject
//
// Synopsis: COleObject implements the IOleObject interface for OLE
// objects within the server. There will be one instantiation
// per OLE object.
//
// Methods: QueryInterface IUnknown
// AddRef IUnknown
// Release IUnknown
// SetClientSite IOleObject
// GetClientSite IOleObject
// SetHostNames IOleObject
// Close IOleObject
// SetMoniker IOleObject
// GetMoniker IOleObject
// InitFromData IOleObject
// GetClipboardData IOleObject
// DoVerb IOleObject
// EnumVerbs IOleObject
// Update IOleObject
// IsUpToDate IOleObject
// GetUserType IOleObject
// SetExtent IOleObject
// GetExtent IOleObject
// Advise IOleObject
// Unadvise IOleObject
// EnumAdvise IOleObject
// GetMiscStatus IOleObject
// SetColorScheme IOleObject
//
// History: 17-Dec-92 DeanE Created
//--------------------------------------------------------------------
class FAR COleObject : public IOleObject { public: // Constructor/Destructor
COleObject(CTestEmbed *pteObject); ~COleObject();
// IUnknown
STDMETHODIMP QueryInterface(REFIID iid, void FAR * FAR *ppv); STDMETHODIMP_(ULONG) AddRef (void); STDMETHODIMP_(ULONG) Release (void);
// IOleObject
STDMETHODIMP SetClientSite (LPOLECLIENTSITE pClientSite); STDMETHODIMP GetClientSite (LPOLECLIENTSITE FAR *ppClientSite); STDMETHODIMP SetHostNames (LPCOLESTR szContainerApp, LPCOLESTR szContainerObj); STDMETHODIMP Close (DWORD dwSaveOption); STDMETHODIMP SetMoniker (DWORD dwWhichMoniker, LPMONIKER pmk); STDMETHODIMP GetMoniker (DWORD dwAssign, DWORD dwWhichMoniker, LPMONIKER FAR *ppmk); STDMETHODIMP InitFromData (LPDATAOBJECT pDataObject, BOOL fCreation, DWORD dwReserved); STDMETHODIMP GetClipboardData( DWORD dwReserved, LPDATAOBJECT FAR *ppDataObject); STDMETHODIMP DoVerb (LONG iVerb, LPMSG pMsg, LPOLECLIENTSITE pActiveSite, LONG lReserved, HWND hwndParent, LPCRECT lprcPosRect); STDMETHODIMP EnumVerbs (IEnumOLEVERB FAR* FAR* ppenmOleVerb); STDMETHODIMP Update (void); STDMETHODIMP IsUpToDate (void); STDMETHODIMP GetUserClassID(CLSID FAR* pClsid); STDMETHODIMP GetUserType (DWORD dwFormOfType, LPOLESTR FAR *pszUserType); STDMETHODIMP SetExtent (DWORD dwDrawAspect, LPSIZEL lpsizel); STDMETHODIMP GetExtent (DWORD dwDrawAspect, LPSIZEL lpsizel); STDMETHODIMP Advise (IAdviseSink FAR *pAdvSink, DWORD FAR *pdwConnection); STDMETHODIMP Unadvise (DWORD dwConnection); STDMETHODIMP EnumAdvise (LPENUMSTATDATA FAR *ppenmAdvise); STDMETHODIMP GetMiscStatus (DWORD dwAspect, DWORD FAR *pdwStatus); STDMETHODIMP SetColorScheme(LPLOGPALETTE lpLogpal);
private: ULONG _cRef; // Reference count
IOleAdviseHolder FAR *_pOAHolder; // Advise Holder
IOleClientSite FAR *_pocs; // This objects client site
CTestEmbed *_pteObject; // Object we're associated with
IMoniker * _pmkContainer; };
#endif // __OLEOBJ_HXX__
|