ホーム › Storage.VirtualDiskService › IVdsAsync
IVdsAsync
COMメソッド 3
vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。
vtbl 3 HRESULT Cancel()
vtbl 4 HRESULT Wait(HRESULT* pHrResult, VDS_ASYNC_OUTPUT* pAsyncOut)
| pHrResult | HRESULT* | out | 非同期操作の完了を待ち、その結果コード HRESULT を受け取るポインタである。 |
| pAsyncOut | VDS_ASYNC_OUTPUT* | out | 非同期操作の出力情報を受け取る VDS_ASYNC_OUTPUT へのポインタである。 |
| pHrResult | HRESULT* | out | 非同期操作の現在の結果コード HRESULT を受け取るポインタである。 |
| pulPercentCompleted | DWORD* | out | 操作の進捗を百分率で受け取るポインタである。 |
HSP用 COM定義
#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"。
出力引数:
#define global IID_IVdsAsync "{D5D23B6D-5A55-4492-9889-397A3C2D2DBC}" #usecom global IVdsAsync IID_IVdsAsync "{}" #comfunc global IVdsAsync_Cancel 3 #comfunc global IVdsAsync_Wait 4 var,var #comfunc global IVdsAsync_QueryStatus 5 var,var ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。#define global IID_IVdsAsync "{D5D23B6D-5A55-4492-9889-397A3C2D2DBC}" #usecom global IVdsAsync IID_IVdsAsync "{}" #comfunc global IVdsAsync_Cancel 3 #comfunc global IVdsAsync_Wait 4 sptr,sptr #comfunc global IVdsAsync_QueryStatus 5 sptr,sptr ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数はポインタ方式(token=sptr / 呼び出しは varptr(変数))。