mirror of https://github.com/tongzx/nt5src
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.
138 lines
2.9 KiB
138 lines
2.9 KiB
/******************************************************************************
|
|
*
|
|
* (C) COPYRIGHT MICROSOFT CORP., 1999
|
|
*
|
|
* TITLE: wiamonk.h
|
|
*
|
|
* VERSION: 1.0
|
|
*
|
|
* DATE: 10 Nov, 1999
|
|
*
|
|
* DESCRIPTION:
|
|
* This file describes the class used by WIA to imlement an instance moniker.
|
|
*
|
|
******************************************************************************/
|
|
|
|
class CWiaInstMonk : public IMoniker,
|
|
public IROTData
|
|
{
|
|
public:
|
|
|
|
//
|
|
// Constructor, Destructor, Initialize
|
|
//
|
|
|
|
CWiaInstMonk();
|
|
~CWiaInstMonk();
|
|
HRESULT _stdcall Initialize(LPOLESTR strName);
|
|
|
|
//
|
|
// IUnknown
|
|
//
|
|
|
|
HRESULT _stdcall QueryInterface(const IID& iid, void** ppv);
|
|
ULONG _stdcall AddRef();
|
|
ULONG _stdcall Release();
|
|
|
|
//
|
|
// IROTData
|
|
//
|
|
|
|
HRESULT _stdcall GetComparisonData(
|
|
BYTE *pbData,
|
|
ULONG cbMax,
|
|
ULONG *pcbData);
|
|
|
|
//
|
|
// IMoniker
|
|
//
|
|
|
|
HRESULT _stdcall BindToObject(
|
|
IBindCtx *pbc,
|
|
IMoniker *pmkToLeft,
|
|
REFIID riidResult,
|
|
void **ppvResult);
|
|
|
|
HRESULT _stdcall BindToStorage(
|
|
IBindCtx *pbc,
|
|
IMoniker *pmkToLeft,
|
|
REFIID riid,
|
|
void **ppvObj);
|
|
|
|
HRESULT _stdcall Reduce(
|
|
IBindCtx *pbc,
|
|
DWORD dwReduceHowFar,
|
|
IMoniker **ppmkToLeft,
|
|
IMoniker **ppmkReduced);
|
|
|
|
HRESULT _stdcall ComposeWith(
|
|
IMoniker *pmkRight,
|
|
BOOL fOnlyIfNotGeneric,
|
|
IMoniker **ppmkComposite);
|
|
|
|
HRESULT _stdcall Enum(
|
|
BOOL fForward,
|
|
IEnumMoniker **ppenumMoniker);
|
|
|
|
HRESULT _stdcall IsEqual(
|
|
IMoniker *pmkOtherMoniker);
|
|
|
|
HRESULT _stdcall Hash(
|
|
DWORD *pdwHash);
|
|
|
|
HRESULT _stdcall IsRunning(
|
|
IBindCtx *pbc,
|
|
IMoniker *pmkToLeft,
|
|
IMoniker *pmkNewlyRunning);
|
|
|
|
HRESULT _stdcall GetTimeOfLastChange(
|
|
IBindCtx *pbc,
|
|
IMoniker *pmkToLeft,
|
|
FILETIME *pFileTime);
|
|
|
|
HRESULT _stdcall Inverse(
|
|
IMoniker **ppmk);
|
|
|
|
HRESULT _stdcall CommonPrefixWith(
|
|
IMoniker *pmkOther,
|
|
IMoniker **ppmkPrefix);
|
|
|
|
HRESULT _stdcall RelativePathTo(
|
|
IMoniker *pmkOther,
|
|
IMoniker **ppmkRelPath);
|
|
|
|
HRESULT _stdcall GetDisplayName(
|
|
IBindCtx *pbc,
|
|
IMoniker *pmkToLeft,
|
|
LPOLESTR *ppszDisplayName);
|
|
|
|
HRESULT _stdcall ParseDisplayName(
|
|
IBindCtx *pbc,
|
|
IMoniker *pmkToLeft,
|
|
LPOLESTR pszDisplayName,
|
|
ULONG *pchEaten,
|
|
IMoniker **ppmkOut);
|
|
|
|
HRESULT _stdcall IsSystemMoniker(
|
|
DWORD *pdwMksys);
|
|
|
|
//
|
|
// IPersistStream
|
|
//
|
|
|
|
HRESULT _stdcall IsDirty();
|
|
HRESULT _stdcall Load(IStream *pStm);
|
|
HRESULT _stdcall Save(IStream *pStm, BOOL fClearDirty);
|
|
HRESULT _stdcall GetSizeMax(ULARGE_INTEGER *pcbSize);
|
|
|
|
//
|
|
// IPersist
|
|
//
|
|
|
|
HRESULT _stdcall GetClassID(LPCLSID pClassID);
|
|
|
|
private:
|
|
LONG m_cRef;
|
|
BSTR m_bstrName;
|
|
IUnknown *m_pIUnknownInner;
|
|
};
|