IOLEOBJ.H
上传用户:bangxh
上传日期:2007-01-31
资源大小:42235k
文件大小:2k
源码类别:

Windows编程

开发平台:

Visual C++

  1. /*
  2.  * IOLEOBJ.H
  3.  *
  4.  * Definitions of a template IOleObject interface implementation.
  5.  *
  6.  * Copyright (c)1993-1995 Microsoft Corporation, All Right Reserved
  7.  *
  8.  * Kraig Brockschmidt, Microsoft
  9.  * Internet  :  kraigb@microsoft.com
  10.  * Compuserve:  >INTERNET:kraigb@microsoft.com
  11.  */
  12. #ifndef _IOLEOBJ_H_
  13. #define _IOLEOBJ_H_
  14. #include <inole.h>
  15. class CImpIOleObject;
  16. typedef class CImpIOleObject *PCImpIOleObject;
  17. class CImpIOleObject : public IOleObject
  18.     {
  19.     private:
  20.         ULONG           m_cRef;      //Interface reference count
  21.         LPVOID          m_pObj;      //Backpointer to the object
  22.         LPUNKNOWN       m_pUnkOuter; //For delegation
  23.     public:
  24.         CImpIOleObject(LPVOID, LPUNKNOWN);
  25.         ~CImpIOleObject(void);
  26.         //IUnknown members that delegate to m_pUnkOuter.
  27.         STDMETHODIMP         QueryInterface(REFIID, LPVOID *);
  28.         STDMETHODIMP_(ULONG) AddRef(void);
  29.         STDMETHODIMP_(ULONG) Release(void);
  30.         //IOleObject members
  31.         STDMETHODIMP SetClientSite(LPOLECLIENTSITE);
  32.         STDMETHODIMP GetClientSite(LPOLECLIENTSITE *);
  33.         STDMETHODIMP SetHostNames(LPCOLESTR, LPCOLESTR);
  34.         STDMETHODIMP Close(DWORD);
  35.         STDMETHODIMP SetMoniker(DWORD, LPMONIKER);
  36.         STDMETHODIMP GetMoniker(DWORD, DWORD, LPMONIKER *);
  37.         STDMETHODIMP InitFromData(LPDATAOBJECT, BOOL, DWORD);
  38.         STDMETHODIMP GetClipboardData(DWORD, LPDATAOBJECT *);
  39.         STDMETHODIMP DoVerb(LONG, LPMSG, LPOLECLIENTSITE, LONG
  40.             , HWND, LPCRECT);
  41.         STDMETHODIMP EnumVerbs(LPENUMOLEVERB *);
  42.         STDMETHODIMP Update(void);
  43.         STDMETHODIMP IsUpToDate(void);
  44.         STDMETHODIMP GetUserClassID(CLSID *);
  45.         STDMETHODIMP GetUserType(DWORD, LPTSTR *);
  46.         STDMETHODIMP SetExtent(DWORD, LPSIZEL);
  47.         STDMETHODIMP GetExtent(DWORD, LPSIZEL);
  48.         STDMETHODIMP Advise(LPADVISESINK, DWORD *);
  49.         STDMETHODIMP Unadvise(DWORD);
  50.         STDMETHODIMP EnumAdvise(LPENUMSTATDATA *);
  51.         STDMETHODIMP GetMiscStatus(DWORD, DWORD *);
  52.         STDMETHODIMP SetColorScheme(LPLOGPALETTE);
  53.     };
  54. #endif //_IOLEOBJ_H_