Win32 API 日本語リファレンス
ホームSystem.Com › IBindStatusCallback

IBindStatusCallback

COM
IID79eac9c1-baf9-11ce-8c82-00aa004ba90b継承元IUnknown自前メソッド開始 vtbl3

メソッド 8

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

vtbl 3 HRESULT OnStartBinding(DWORD dwReserved, IBinding* pib)
dwReservedDWORDin予約済みパラメータである。
pibIBinding*in開始されたバインド操作を表す IBinding へのポインタである。
vtbl 4 HRESULT GetPriority(INT* pnPriority)
pnPriorityINT*outバインド操作に要求する優先度を受け取る INT へのポインタである。
vtbl 5 HRESULT OnLowResource(DWORD reserved)
reservedDWORDin予約済みパラメータであり、0 を指定する。
vtbl 6 HRESULT OnProgress(DWORD ulProgress, DWORD ulProgressMax, DWORD ulStatusCode, LPWSTR szStatusText)
ulProgressDWORDin現在の進捗量を指定する。
ulProgressMaxDWORDin進捗の最大量を指定する。
ulStatusCodeDWORDin現在の処理状態を示す BINDSTATUS 値を指定する。
szStatusTextLPWSTRin状態に関する追加情報を表す文字列を指定する。
vtbl 7 HRESULT OnStopBinding(HRESULT hresult, LPWSTR szError)
hresultHRESULTinバインド操作の最終結果を示す HRESULT を指定する。
szErrorLPWSTRinエラーが発生した場合のエラー情報を表す文字列を指定する。
vtbl 8 HRESULT GetBindInfo(DWORD* grfBINDF, BINDINFO* pbindinfo)
grfBINDFDWORD*outバインド動作を制御する BINDF フラグを受け取る DWORD へのポインタである。
pbindinfoBINDINFO*inoutバインドに関する詳細情報を格納する BINDINFO へのポインタである。
vtbl 9 HRESULT OnDataAvailable(DWORD grfBSCF, DWORD dwSize, FORMATETC* pformatetc, STGMEDIUM* pstgmed)
grfBSCFDWORDin利用可能になったデータの状態を示す BSCF フラグを指定する。
dwSizeDWORDinこれまでに利用可能になったデータの累積バイト数を指定する。
pformatetcFORMATETC*in利用可能なデータの形式を示す FORMATETC へのポインタである。
pstgmedSTGMEDIUM*in利用可能なデータを格納したストレージメディウム (STGMEDIUM) へのポインタである。
vtbl 10 HRESULT OnObjectAvailable(GUID* riid, IUnknown* punk)
riidGUID*in取得されたオブジェクトのインターフェイス識別子 (IID) を指定する。
punkIUnknown*inバインドにより取得されたオブジェクトの IUnknown へのポインタである。

HSP用 COM定義

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

出力引数:
#define global IID_IBindStatusCallback "{79EAC9C1-BAF9-11CE-8C82-00AA004BA90B}"
#usecom global IBindStatusCallback IID_IBindStatusCallback "{}"
#comfunc global IBindStatusCallback_OnStartBinding     3 int,sptr
#comfunc global IBindStatusCallback_GetPriority        4 var
#comfunc global IBindStatusCallback_OnLowResource      5 int
#comfunc global IBindStatusCallback_OnProgress         6 int,int,int,wstr
#comfunc global IBindStatusCallback_OnStopBinding      7 int,wstr
#comfunc global IBindStatusCallback_GetBindInfo        8 var,var
#comfunc global IBindStatusCallback_OnDataAvailable    9 int,int,var,var
#comfunc global IBindStatusCallback_OnObjectAvailable  10 var,sptr
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。
; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。