Win32 API 日本語リファレンス
ホームData.Xml.MsXml › IXMLHTTPRequest2

IXMLHTTPRequest2

COM
IIDe5d37dc0-552a-4d52-9cc0-a14d546fbd04継承元IUnknown自前メソッド開始 vtbl3

メソッド 10

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

vtbl 3 HRESULT Open(LPWSTR pwszMethod, LPWSTR pwszUrl, IXMLHTTPRequest2Callback* pStatusCallback, LPWSTR pwszUserName, LPWSTR pwszPassword, LPWSTR pwszProxyUserName, LPWSTR pwszProxyPassword)
pwszMethodLPWSTRinHTTPメソッド名(GET、POSTなど)を指定する。
pwszUrlLPWSTRinリクエスト送信先のURL。
pStatusCallbackIXMLHTTPRequest2Callback*in応答イベントを受け取るIXMLHTTPRequest2Callback実装。
pwszUserNameLPWSTRinサーバ認証用のユーザー名。不要ならNULL可。
pwszPasswordLPWSTRinサーバ認証用のパスワード。不要ならNULL可。
pwszProxyUserNameLPWSTRinプロキシ認証用のユーザー名。不要ならNULL可。
pwszProxyPasswordLPWSTRinプロキシ認証用のパスワード。不要ならNULL可。
vtbl 4 HRESULT Send(ISequentialStream* pBody, ULONGLONG cbBody)
pBodyISequentialStream*inリクエスト本体データを供給するISequentialStream。本体なしならNULL可。
cbBodyULONGLONGin送信する本体のバイト数(ULONGLONG)。
vtbl 5 HRESULT Abort()
vtbl 6 HRESULT SetCookie(XHR_COOKIE* pCookie, DWORD* pdwCookieState)
pCookieXHR_COOKIE*in設定するクッキー情報を保持するXHR_COOKIE構造体。
pdwCookieStateDWORD*outクッキー設定結果の状態フラグを受け取る出力先。
vtbl 7 HRESULT SetCustomResponseStream(ISequentialStream* pSequentialStream)
pSequentialStreamISequentialStream*in応答データの書き込み先として使うカスタムISequentialStream。
vtbl 8 HRESULT SetProperty(XHR_PROPERTY eProperty, ULONGLONG ullValue)
ePropertyXHR_PROPERTYin設定対象のプロパティを示すXHR_PROPERTY列挙値。
ullValueULONGLONGinプロパティに設定する値(ULONGLONG)。
vtbl 9 HRESULT SetRequestHeader(LPWSTR pwszHeader, LPWSTR pwszValue)
pwszHeaderLPWSTRin追加するリクエストヘッダの名前。
pwszValueLPWSTRinリクエストヘッダに設定する値。
vtbl 10 HRESULT GetAllResponseHeaders(WORD** ppwszHeaders)
ppwszHeadersWORD**out応答ヘッダ全体を連結した文字列を受け取る出力先。呼び出し側で解放する。
vtbl 11 HRESULT GetCookie(LPWSTR pwszUrl, LPWSTR pwszName, DWORD dwFlags, DWORD* pcCookies, XHR_COOKIE** ppCookies)
pwszUrlLPWSTRinクッキーを取得する対象URL。
pwszNameLPWSTRin取得するクッキーの名前。NULLで全件取得する。
dwFlagsDWORDin取得動作を制御するフラグ。
pcCookiesDWORD*out返されるクッキーの個数を受け取る出力先。
ppCookiesXHR_COOKIE**out取得したXHR_COOKIE配列を受け取る出力先。呼び出し側で解放する。
vtbl 12 HRESULT GetResponseHeader(LPWSTR pwszHeader, WORD** ppwszValue)
pwszHeaderLPWSTRin値を取得する応答ヘッダの名前。
ppwszValueWORD**out指定ヘッダの値文字列を受け取る出力先。呼び出し側で解放する。

HSP用 COM定義

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

出力引数:
#define global IID_IXMLHTTPRequest2 "{E5D37DC0-552A-4D52-9CC0-A14D546FBD04}"
#usecom global IXMLHTTPRequest2 IID_IXMLHTTPRequest2 "{ED8C108E-4349-11D2-91A4-00C04F7969E8}"
#comfunc global IXMLHTTPRequest2_Open                     3 wstr,wstr,sptr,wstr,wstr,wstr,wstr
#comfunc global IXMLHTTPRequest2_Send                     4 sptr,int64
#comfunc global IXMLHTTPRequest2_Abort                    5
#comfunc global IXMLHTTPRequest2_SetCookie                6 var,var
#comfunc global IXMLHTTPRequest2_SetCustomResponseStream  7 sptr
#comfunc global IXMLHTTPRequest2_SetProperty              8 int,int64
#comfunc global IXMLHTTPRequest2_SetRequestHeader         9 wstr,wstr
#comfunc global IXMLHTTPRequest2_GetAllResponseHeaders    10 var
#comfunc global IXMLHTTPRequest2_GetCookie                11 wstr,wstr,int,var,var
#comfunc global IXMLHTTPRequest2_GetResponseHeader        12 wstr,var
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※#usecom 末尾は CoCreateInstance 用のクラスID(コクラスCLSID, SDKから自動取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。
; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。