ホーム › System.Search › IDBAsynchNotify
IDBAsynchNotify
COMメソッド 3
vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。
| dwReserved | UINT_PTR | in | 予約済みであり、0 を指定する。 |
vtbl 4 HRESULT OnProgress(UINT_PTR hChapter, DWORD eOperation, UINT_PTR ulProgress, UINT_PTR ulProgressMax, DWORD eAsynchPhase, LPWSTR pwszStatusText)
| hChapter | UINT_PTR | in | 対象となるチャプターのハンドルを指定する。チャプター単位でない場合は DB_NULL_HCHAPTER を指定する。 |
| eOperation | DWORD | in | 進捗報告の対象となる非同期操作の種類 (DBASYNCHOP) を指定する。 |
| ulProgress | UINT_PTR | in | 現在の進捗量を ulProgressMax に対する相対値として指定する。 |
| ulProgressMax | UINT_PTR | in | 進捗の最大値 (完了時の値) を指定する。 |
| eAsynchPhase | DWORD | in | 操作の現在のフェーズ (DBASYNCHPHASE。初期化・取得・完了等) を指定する。 |
| pwszStatusText | LPWSTR | inoptional | 現在の状態を示すテキストへのポインタである。テキストが無い場合は NULL となる。 |
| hChapter | UINT_PTR | in | 停止した操作の対象チャプターのハンドルを指定する。チャプター単位でない場合は DB_NULL_HCHAPTER を指定する。 |
| eOperation | DWORD | in | 停止した非同期操作の種類 (DBASYNCHOP) を指定する。 |
| hrStatus | HRESULT | in | 操作の終了状態を示す HRESULT を指定する。正常終了か中断かを表す。 |
| pwszStatusText | LPWSTR | inoptional | 停止理由等を示す状態テキストへのポインタである。テキストが無い場合は NULL となる。 |
HSP用 COM定義
#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"。
#define global IID_IDBAsynchNotify "{0C733A96-2A1C-11CE-ADE5-00AA0044773D}"
#usecom global IDBAsynchNotify IID_IDBAsynchNotify "{}"
#comfunc global IDBAsynchNotify_OnLowResource 3 sptr
#comfunc global IDBAsynchNotify_OnProgress 4 sptr,int,sptr,sptr,int,wstr
#comfunc global IDBAsynchNotify_OnStop 5 sptr,int,int,wstr
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。