home *** CD-ROM | disk | FTP | other *** search
/ Tricks of the Windows Gam…ming Gurus (2nd Edition) / Disc2.iso / msdn_vcb / samples / vc98 / sdk / com / inole2 / interfac / imoniker.h < prev    next >
C/C++ Source or Header  |  1996-05-21  |  2KB  |  67 lines

  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.  
  13.  
  14. #ifndef _IMONIKER_H_
  15. #define _IMONIKER_H_
  16.  
  17. #include <inole.h>
  18.  
  19. class CImpIMoniker;
  20. typedef class CImpIMoniker *PCImpIMoniker;
  21.  
  22. class CImpIMoniker : public IMoniker
  23.     {
  24.     protected:
  25.         ULONG           m_cRef;      //Interface reference count
  26.         LPVOID          m_pObj;      //Backpointer to the object
  27.         LPUNKNOWN       m_pUnkOuter; //For delegation
  28.  
  29.     public:
  30.         CImpIMoniker(LPVOID, LPUNKNOWN);
  31.         ~CImpIMoniker(void);
  32.  
  33.         STDMETHODIMP QueryInterface(REFIID, LPVOID *);
  34.         STDMETHODIMP_(ULONG) AddRef(void);
  35.         STDMETHODIMP_(ULONG) Release(void);
  36.  
  37.         STDMETHODIMP GetClassID(LPCLSID);
  38.  
  39.         STDMETHODIMP IsDirty(void);
  40.         STDMETHODIMP Load(LPSTREAM);
  41.         STDMETHODIMP Save(LPSTREAM, BOOL);
  42.         STDMETHODIMP GetSizeMax(ULARGE_INTEGER *);
  43.  
  44.         STDMETHODIMP BindToObject(LPBC, LPMONIKER
  45.             , REFIID, LPVOID *);
  46.         STDMETHODIMP BindToStorage(LPBC, LPMONIKER
  47.             , REFIID, LPVOID *);
  48.         STDMETHODIMP Reduce(LPBC, DWORD, LPMONIKER *, LPMONIKER *);
  49.         STDMETHODIMP ComposeWith(LPMONIKER, BOOL, LPMONIKER *);
  50.         STDMETHODIMP Enum(BOOL, LPENUMMONIKER *);
  51.         STDMETHODIMP IsEqual(LPMONIKER);
  52.         STDMETHODIMP Hash(LPDWORD);
  53.         STDMETHODIMP IsRunning(LPBC, LPMONIKER, LPMONIKER);
  54.         STDMETHODIMP GetTimeOfLastChange(LPBC, LPMONIKER
  55.             , FILETIME *);
  56.         STDMETHODIMP Inverse(LPMONIKER *);
  57.         STDMETHODIMP CommonPrefixWith(LPMONIKER, LPMONIKER *);
  58.         STDMETHODIMP RelativePathTo(LPMONIKER, LPMONIKER *);
  59.         STDMETHODIMP GetDisplayName(LPBC, LPMONIKER, LPOLESTR *);
  60.         STDMETHODIMP ParseDisplayName(LPBC, LPMONIKER, LPOLESTR
  61.             , ULONG *, LPMONIKER *);
  62.         STDMETHODIMP IsSystemMoniker(LPDWORD);
  63.     };
  64.  
  65.  
  66. #endif //_IMONIKER_H_
  67.