Win32 API 日本語リファレンス
ホームDevices.ImageAcquisition › IWiaMiniDrvCallBack

IWiaMiniDrvCallBack

COM
IID33a57d5a-3de8-11d2-9a36-00c04fa36145継承元IUnknown自前メソッド開始 vtbl3

メソッド 1

vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。

vtbl 3 HRESULT MiniDrvCallback(INT lReason, INT lStatus, INT lPercentComplete, INT lOffset, INT lLength, MINIDRV_TRANSFER_CONTEXT* pTranCtx, INT lReserved)
lReasonINTinコールバック理由を示す値。IT_MSG_DATA/IT_MSG_STATUS等を指定する。
lStatusINTin現在の状態を示す値。IT_STATUS_*フラグを指定する。
lPercentCompleteINTin処理の進捗率(0〜100)。
lOffsetINTin受信データの先頭からのオフセット(バイト)。
lLengthINTin今回のデータ長(バイト)。
pTranCtxMINIDRV_TRANSFER_CONTEXT*in転送状態を保持するMINIDRV_TRANSFER_CONTEXT構造体へのポインタ。
lReservedINTin予約値。現状は0。

HSP用 COM定義

#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"

出力引数:
#define global IID_IWiaMiniDrvCallBack "{33A57D5A-3DE8-11D2-9A36-00C04FA36145}"
#usecom global IWiaMiniDrvCallBack IID_IWiaMiniDrvCallBack "{}"
#comfunc global IWiaMiniDrvCallBack_MiniDrvCallback  3 int,int,int,int,int,var,int
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。