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

IInternetProtocolRoot

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

メソッド 6

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

vtbl 3 HRESULT Start(LPWSTR szUrl, IInternetProtocolSink* pOIProtSink, IInternetBindInfo* pOIBindInfo, DWORD grfPI, HANDLE_PTR dwReserved)
szUrlLPWSTRin処理対象の URL を示す文字列へのポインタである。
pOIProtSinkIInternetProtocolSink*in進捗やデータ、結果を通知するための IInternetProtocolSink へのポインタである。
pOIBindInfoIInternetBindInfo*inバインド情報を取得するための IInternetBindInfo へのポインタである。
grfPIDWORDinプロトコルの動作を制御する PI_ フラグの組み合わせを指定する。
dwReservedHANDLE_PTRin予約済み、または追加情報を渡すために使用する値である。
vtbl 4 HRESULT Continue(PROTOCOLDATA* pProtocolData)
pProtocolDataPROTOCOLDATA*inSwitch 呼び出しで渡された処理を継続するための PROTOCOLDATA 構造体へのポインタである。
vtbl 5 HRESULT Abort(HRESULT hrReason, DWORD dwOptions)
hrReasonHRESULTin処理を中止する理由を示す HRESULT を指定する。
dwOptionsDWORDin中止動作を制御するフラグを指定する。
vtbl 6 HRESULT Terminate(DWORD dwOptions)
dwOptionsDWORDin終了動作を制御するフラグを指定する。通常は 0 を指定する。
vtbl 7 HRESULT Suspend()
vtbl 8 HRESULT Resume()

HSP用 COM定義

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

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