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

Windows编程

开发平台:

Visual C++

  1. /*
  2.  * IMONIKER.H
  3.  *
  4.  * Definitions of a template IMoniker interface implementation.
  5.  *
  6.  * Copyright (c)1993-1995 Microsoft Corporation, All Rights Reserved
  7.  *
  8.  * Kraig Brockschmidt, Microsoft
  9.  * Internet  :  kraigb@microsoft.com
  10.  * Compuserve:  >INTERNET:kraigb@microsoft.com
  11.  */
  12. #ifndef _IMONIKER_H_
  13. #define _IMONIKER_H_
  14. #include <inole.h>
  15. class CImpIMoniker;
  16. typedef class CImpIMoniker *PCImpIMoniker;
  17. class CImpIMoniker : public IMoniker
  18.     {
  19.     protected:
  20.         ULONG           m_cRef;      //Interface reference count
  21.         LPVOID          m_pObj;      //Backpointer to the object
  22.         LPUNKNOWN       m_pUnkOuter; //For delegation
  23.     public:
  24.         CImpIMoniker(LPVOID, LPUNKNOWN);
  25.         ~CImpIMoniker(void);
  26.         STDMETHODIMP QueryInterface(REFIID, LPVOID *);
  27.         STDMETHODIMP_(ULONG) AddRef(void);
  28.         STDMETHODIMP_(ULONG) Release(void);
  29.         STDMETHODIMP GetClassID(LPCLSID);
  30.         STDMETHODIMP IsDirty(void);
  31.         STDMETHODIMP Load(LPSTREAM);
  32.         STDMETHODIMP Save(LPSTREAM, BOOL);
  33.         STDMETHODIMP GetSizeMax(ULARGE_INTEGER *);
  34.         STDMETHODIMP BindToObject(LPBC, LPMONIKER
  35.             , REFIID, LPVOID *);
  36.         STDMETHODIMP BindToStorage(LPBC, LPMONIKER
  37.             , REFIID, LPVOID *);
  38.         STDMETHODIMP Reduce(LPBC, DWORD, LPMONIKER *, LPMONIKER *);
  39.         STDMETHODIMP ComposeWith(LPMONIKER, BOOL, LPMONIKER *);
  40.         STDMETHODIMP Enum(BOOL, LPENUMMONIKER *);
  41.         STDMETHODIMP IsEqual(LPMONIKER);
  42.         STDMETHODIMP Hash(LPDWORD);
  43.         STDMETHODIMP IsRunning(LPBC, LPMONIKER, LPMONIKER);
  44.         STDMETHODIMP GetTimeOfLastChange(LPBC, LPMONIKER
  45.             , FILETIME *);
  46.         STDMETHODIMP Inverse(LPMONIKER *);
  47.         STDMETHODIMP CommonPrefixWith(LPMONIKER, LPMONIKER *);
  48.         STDMETHODIMP RelativePathTo(LPMONIKER, LPMONIKER *);
  49.         STDMETHODIMP GetDisplayName(LPBC, LPMONIKER, LPOLESTR *);
  50.         STDMETHODIMP ParseDisplayName(LPBC, LPMONIKER, LPOLESTR
  51.             , ULONG *, LPMONIKER *);
  52.         STDMETHODIMP IsSystemMoniker(LPDWORD);
  53.     };
  54. #endif //_IMONIKER_H_