43 lines
2.0 KiB
C++
43 lines
2.0 KiB
C++
#ifndef __MONIKER_H__
|
|
#define __MONIKER_H__
|
|
|
|
class CDMOMoniker : public IMoniker, public IPropertyBag {
|
|
public:
|
|
CDMOMoniker(REFCLSID clsid, WCHAR szName[80]);
|
|
// IUnknown
|
|
STDMETHODIMP QueryInterface(REFIID iid, void **ppv);
|
|
STDMETHODIMP_(ULONG) AddRef();
|
|
STDMETHODIMP_(ULONG) Release();
|
|
// IPersist
|
|
STDMETHODIMP GetClassID(CLSID *pClassID);
|
|
// IPersistStream
|
|
STDMETHODIMP IsDirty();
|
|
STDMETHODIMP Load(IStream *pStm);
|
|
STDMETHODIMP Save(IStream *pStm, BOOL fClearDirty);
|
|
STDMETHODIMP GetSizeMax(ULARGE_INTEGER *pcbSize);
|
|
// IMoniker
|
|
STDMETHODIMP BindToObject(IBindCtx *pbc, IMoniker *pmkToLeft, REFIID riid, void **ppv);
|
|
STDMETHODIMP BindToStorage(IBindCtx *pbc, IMoniker *pmkToLeft, REFIID riid, void **ppv);
|
|
STDMETHODIMP Reduce(IBindCtx *pbc, DWORD dwReduceHowFar, IMoniker **ppmkToLeft, IMoniker **ppmkReduced);
|
|
STDMETHODIMP ComposeWith(IMoniker *pmkRight, BOOL bOnlyIfNotGeneric, IMoniker **ppmkComposite);
|
|
STDMETHODIMP Enum(BOOL fForward, IEnumMoniker **ppenumMoniker);
|
|
STDMETHODIMP IsEqual(IMoniker *pmkOtherMoniker);
|
|
STDMETHODIMP Hash(DWORD *pdwHash);
|
|
STDMETHODIMP IsRunning(IBindCtx *pbc, IMoniker *pmkToLeft, IMoniker *pmkNewlyRunning);
|
|
STDMETHODIMP GetTimeOfLastChange(IBindCtx *pbc, IMoniker *pmkToLeft, FILETIME *pFileTime);
|
|
STDMETHODIMP Inverse(IMoniker **ppmk);
|
|
STDMETHODIMP CommonPrefixWith(IMoniker *pmkOther, IMoniker **ppmkPrefix);
|
|
STDMETHODIMP RelativePathTo(IMoniker *pmkOther, IMoniker **ppmkRelPath);
|
|
STDMETHODIMP GetDisplayName(IBindCtx *pbc, IMoniker *pmkToLeft, LPOLESTR *ppszDisplayName);
|
|
STDMETHODIMP ParseDisplayName(IBindCtx *pbc, IMoniker *pmkToLeft, LPOLESTR psxDisplayName, ULONG *pchEaten, IMoniker **ppmkOut);
|
|
STDMETHODIMP IsSystemMoniker(DWORD *pdwMksys);
|
|
// IPropertyBag
|
|
STDMETHODIMP Read(LPCOLESTR pszPropName, VARIANT *pVar, IErrorLog* pErrorLog);
|
|
STDMETHODIMP Write(LPCOLESTR pszPropName, VARIANT *pVar);
|
|
private:
|
|
ULONG m_cRef;
|
|
CLSID m_clsid;
|
|
WCHAR m_szName[80];
|
|
};
|
|
|
|
#endif //__MONIKER_H__
|