windows-nt/Source/XPSP1/NT/printscan/wia/inc/wiamonk.h
2020-09-26 16:20:57 +08:00

139 lines
2.9 KiB
C++

/******************************************************************************
*
* (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;
};