Win32 API 日本語リファレンス
ホームWeb.MsHtml › IHTMLXMLHttpRequest

IHTMLXMLHttpRequest

COMIDispatch (デュアル)
IDispatch を実装(デュアルインターフェース)。HSP では comobj 経由でメソッド名による遅延バインド呼び出しができます(vtableインデックス不要)。
IID3051040a-98b5-11cf-bb82-00aa00bdce0b継承元IDispatch呼び出し名前(IDispatch) または vtbl自前メソッド開始 vtbl7

メソッド 14

vtbl = vtable インデックス(0始まり)。IDispatch 実装のため HSP ではメソッド名でも呼べます(上記)。低レベルの index 呼び出し用に vtbl も掲載。0〜2 は IUnknown。

vtbl 7 HRESULT get_readyState(INT* p)
pINT*outリクエストの現在の状態(0〜4)を受け取る変数へのポインタである。
vtbl 8 HRESULT get_responseBody(VARIANT* p)
pVARIANT*outレスポンス本体をバイナリ(バイト配列)として格納した VARIANT を受け取るポインタである。
vtbl 9 HRESULT get_responseText(LPWSTR* p)
pLPWSTR*outレスポンス本体をテキストとして受け取る文字列変数へのポインタである。
vtbl 10 HRESULT get_responseXML(IDispatch** p)
pIDispatch**outレスポンスを解析した XML ドキュメントを表す IDispatch インターフェイスポインタを受け取るアドレスである。
vtbl 11 HRESULT get_status(INT* p)
pINT*outレスポンスの HTTP ステータスコードを受け取る変数へのポインタである。
vtbl 12 HRESULT get_statusText(LPWSTR* p)
pLPWSTR*outHTTP ステータスに対応するメッセージ文字列を受け取る変数へのポインタである。
vtbl 13 HRESULT put_onreadystatechange(VARIANT v)
vVARIANTinreadyState の変化時に呼び出されるイベントハンドラ(コールバック)を格納した VARIANT を指定する。
vtbl 14 HRESULT get_onreadystatechange(VARIANT* p)
pVARIANT*out現在設定されている readyState 変化ハンドラを受け取る VARIANT へのポインタである。
vtbl 15 HRESULT abort()
vtbl 16 HRESULT open(LPWSTR bstrMethod, LPWSTR bstrUrl, VARIANT varAsync, VARIANT varUser, VARIANT varPassword)
bstrMethodLPWSTRin使用する HTTP メソッド(GET, POST 等)を表す文字列を指定する。
bstrUrlLPWSTRinリクエスト先の URL を表す文字列を指定する。
varAsyncVARIANTin非同期で実行するかどうかを示す真偽値を格納した VARIANT を指定する。省略時は非同期となる。
varUserVARIANTin認証に使用するユーザー名を格納した VARIANT を指定する。不要な場合は省略可能である。
varPasswordVARIANTin認証に使用するパスワードを格納した VARIANT を指定する。不要な場合は省略可能である。
vtbl 17 HRESULT send(VARIANT varBody)
varBodyVARIANTinリクエスト本体として送信するデータを格納した VARIANT を指定する。本体がない場合は省略可能である。
vtbl 18 HRESULT getAllResponseHeaders(LPWSTR* __MIDL__IHTMLXMLHttpRequest0000)
__MIDL__IHTMLXMLHttpRequest0000LPWSTR*outすべてのレスポンスヘッダーを連結した文字列を受け取る変数へのポインタである。
vtbl 19 HRESULT getResponseHeader(LPWSTR bstrHeader, LPWSTR* __MIDL__IHTMLXMLHttpRequest0001)
bstrHeaderLPWSTRin取得するレスポンスヘッダーの名前を指定する。
__MIDL__IHTMLXMLHttpRequest0001LPWSTR*out指定したヘッダーの値を表す文字列を受け取る変数へのポインタである。
vtbl 20 HRESULT setRequestHeader(LPWSTR bstrHeader, LPWSTR bstrValue)
bstrHeaderLPWSTRin設定するリクエストヘッダーの名前を指定する。
bstrValueLPWSTRin設定するリクエストヘッダーの値を指定する。

HSP用 COM定義

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

出力引数:
#define global IID_IHTMLXMLHttpRequest "{3051040A-98B5-11CF-BB82-00AA00BDCE0B}"
#usecom global IHTMLXMLHttpRequest IID_IHTMLXMLHttpRequest "{}"
#comfunc global IHTMLXMLHttpRequest_get_readyState          7 var
#comfunc global IHTMLXMLHttpRequest_get_responseBody        8 var
#comfunc global IHTMLXMLHttpRequest_get_responseText        9 var
#comfunc global IHTMLXMLHttpRequest_get_responseXML         10 sptr
#comfunc global IHTMLXMLHttpRequest_get_status              11 var
#comfunc global IHTMLXMLHttpRequest_get_statusText          12 var
#comfunc global IHTMLXMLHttpRequest_put_onreadystatechange  13 int
#comfunc global IHTMLXMLHttpRequest_get_onreadystatechange  14 var
#comfunc global IHTMLXMLHttpRequest_abort                   15
#comfunc global IHTMLXMLHttpRequest_open                    16 wstr,wstr,int,int,int
#comfunc global IHTMLXMLHttpRequest_send                    17 int
#comfunc global IHTMLXMLHttpRequest_getAllResponseHeaders   18 var
#comfunc global IHTMLXMLHttpRequest_getResponseHeader       19 wstr,var
#comfunc global IHTMLXMLHttpRequest_setRequestHeader        20 wstr,wstr
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。
; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。
; ※IDispatch 実装。HSP では comobj 経由でメソッド名による呼び出しも可能(vtbl 不要)。