📄 wiadriver.h
字号:
STDMETHOD(GetLastErrorInfo)(THIS_ STI_ERROR_INFO *pLastErrorInfo);
/////////////////////////////////////////////////////////////////////////
// IWiaMiniDrv Interface Section (for all WIA drivers) //
/////////////////////////////////////////////////////////////////////////
STDMETHOD(drvInitializeWia)(THIS_
__inout BYTE *pWiasContext,
LONG lFlags,
__in BSTR bstrDeviceID,
__in BSTR bstrRootFullItemName,
__in IUnknown *pStiDevice,
__in IUnknown *pIUnknownOuter,
__out IWiaDrvItem **ppIDrvItemRoot,
__out IUnknown **ppIUnknownInner,
__out LONG *plDevErrVal);
STDMETHOD(drvAcquireItemData)(THIS_
__in BYTE *pWiasContext,
LONG lFlags,
__in PMINIDRV_TRANSFER_CONTEXT pmdtc,
__out LONG *plDevErrVal);
STDMETHOD(drvInitItemProperties)(THIS_
__inout BYTE *pWiasContext,
LONG lFlags,
__out LONG *plDevErrVal);
STDMETHOD(drvValidateItemProperties)(THIS_
__inout BYTE *pWiasContext,
LONG lFlags,
ULONG nPropSpec,
__in const PROPSPEC *pPropSpec,
__out LONG *plDevErrVal);
STDMETHOD(drvWriteItemProperties)(THIS_
__inout BYTE *pWiasContext,
LONG lFlags,
__in PMINIDRV_TRANSFER_CONTEXT pmdtc,
__out LONG *plDevErrVal);
STDMETHOD(drvReadItemProperties)(THIS_
__in BYTE *pWiasContext,
LONG lFlags,
ULONG nPropSpec,
__in const PROPSPEC *pPropSpec,
__out LONG *plDevErrVal);
STDMETHOD(drvLockWiaDevice)(THIS_
__in BYTE *pWiasContext,
LONG lFlags,
__out LONG *plDevErrVal);
STDMETHOD(drvUnLockWiaDevice)(THIS_
__in BYTE *pWiasContext,
LONG lFlags,
__out LONG *plDevErrVal);
STDMETHOD(drvAnalyzeItem)(THIS_
__in BYTE *pWiasContext,
LONG lFlags,
__out LONG *plDevErrVal);
STDMETHOD(drvGetDeviceErrorStr)(THIS_
LONG lFlags,
LONG lDevErrVal,
__out LPOLESTR *ppszDevErrStr,
__out LONG *plDevErr);
STDMETHOD(drvDeviceCommand)(THIS_
__inout BYTE *pWiasContext,
LONG lFlags,
__in const GUID *plCommand,
__out IWiaDrvItem **ppWiaDrvItem,
__out LONG *plDevErrVal);
STDMETHOD(drvGetCapabilities)(THIS_
__in BYTE *pWiasContext,
LONG ulFlags,
__out LONG *pcelt,
__out WIA_DEV_CAP_DRV **ppCapabilities,
__out LONG *plDevErrVal);
STDMETHOD(drvDeleteItem)(THIS_
__inout BYTE *pWiasContext,
LONG lFlags,
__out LONG *plDevErrVal);
STDMETHOD(drvFreeDrvItemContext)(THIS_
LONG lFlags,
__in BYTE *pSpecContext,
__out LONG *plDevErrVal);
STDMETHOD(drvGetWiaFormatInfo)(THIS_
__in BYTE *pWiasContext,
LONG lFlags,
__out LONG *pcelt,
__out WIA_FORMAT_INFO **ppwfi,
__out LONG *plDevErrVal);
STDMETHOD(drvNotifyPnpEvent)(THIS_
__in const GUID *pEventGUID,
__in BSTR bstrDeviceID,
ULONG ulReserved);
STDMETHOD(drvUnInitializeWia)(THIS_ __inout BYTE *pWiasContext);
public:
/////////////////////////////////////////////////////////////////////////
// INonDelegating Interface Section (for all WIA drivers) //
/////////////////////////////////////////////////////////////////////////
STDMETHODIMP NonDelegatingQueryInterface(REFIID riid,LPVOID *ppvObj);
STDMETHODIMP_(ULONG) NonDelegatingAddRef();
STDMETHODIMP_(ULONG) NonDelegatingRelease();
private:
/////////////////////////////////////////////////////////////////////////
// Minidriver private methods specific Section //
/////////////////////////////////////////////////////////////////////////
UINT GetBitmapResourceIDFromCategory(const GUID &guidItemCategory);
HRESULT DownloadToStream( LONG lFlags,
__in BYTE *pWiasContext,
__in PMINIDRV_TRANSFER_CONTEXT pmdtc,
const GUID &guidItemCategory,
const GUID &guidFormatID,
__callback IWiaMiniDrvTransferCallback *pTransferCallback,
__out LONG *plDevErrVal);
HRESULT DownloadRawHeader(__in IStream *pDestination,
__inout BYTE *pWiasContext,
__in PMINIDRV_TRANSFER_CONTEXT pmdtc);
HRESULT UploadFromStream( LONG lFlags,
__in BYTE *pWiasContext,
const GUID &guidItemCategory,
__callback IWiaMiniDrvTransferCallback *pTransferCallback,
__out LONG *plDevErrVal);
HRESULT LegacyDownload(LONG lFlags,
BYTE *pWiasContext,
const GUID &guidItemCategory,
PMINIDRV_TRANSFER_CONTEXT pmdtc,
LONG *plDevErrVal);
HRESULT BuildDriverItemTree();
HRESULT DestroyDriverItemTree();
HRESULT DoSynchronizeCommand(__inout BYTE *pWiasContext);
};
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -