Win32 API 日本語リファレンス
ホームNetworking.WinHttp › IWinHttpRequest

IWinHttpRequest

COMIDispatch (デュアル)
IDispatch を実装(デュアルインターフェース)。HSP では comobj 経由でメソッド名による遅延バインド呼び出しができます(vtableインデックス不要)。
IID016fe2ec-b2c8-45f8-b23b-39e53a75396b継承元IDispatch呼び出し名前(IDispatch) または vtbl自前メソッド開始 vtbl7

メソッド 19

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

vtbl 7 HRESULT SetProxy(INT ProxySetting, VARIANT ProxyServer, VARIANT BypassList)
ProxySettingINTinプロキシ設定方法を示す INT(HTTPREQUEST_PROXY_SETTING 値)である。
ProxyServerVARIANTin使用するプロキシサーバー名を保持する VARIANT である。
BypassListVARIANTinプロキシを経由しないホストの一覧を保持する VARIANT である。
vtbl 8 HRESULT SetCredentials(LPWSTR UserName, LPWSTR Password, INT Flags)
UserNameLPWSTRin認証に使用するユーザー名を示す LPWSTR である。
PasswordLPWSTRin認証に使用するパスワードを示す LPWSTR である。
FlagsINTin資格情報の対象(サーバー/プロキシ)を示す INT フラグである。
vtbl 9 HRESULT Open(LPWSTR Method, LPWSTR Url, VARIANT Async)
MethodLPWSTRinHTTP メソッド(GET や POST など)を示す LPWSTR である。
UrlLPWSTRin要求対象の URL を示す LPWSTR である。
AsyncVARIANTin非同期実行するかを示す VARIANT(VARIANT_BOOL)である。
vtbl 10 HRESULT SetRequestHeader(LPWSTR Header, LPWSTR Value)
HeaderLPWSTRin設定する要求ヘッダー名を示す LPWSTR である。
ValueLPWSTRinヘッダーに設定する値を示す LPWSTR である。
vtbl 11 HRESULT GetResponseHeader(LPWSTR Header, LPWSTR* Value)
HeaderLPWSTRin取得する応答ヘッダー名を示す LPWSTR である。
ValueLPWSTR*out取得したヘッダー値を受け取る LPWSTR ポインタである。
vtbl 12 HRESULT GetAllResponseHeaders(LPWSTR* Headers)
HeadersLPWSTR*outすべての応答ヘッダーを連結した文字列を受け取る LPWSTR ポインタである。
vtbl 13 HRESULT Send(VARIANT Body)
BodyVARIANTin送信する要求本文を保持する VARIANT。本文が無い場合は省略可。
vtbl 14 HRESULT get_Status(INT* Status)
StatusINT*outHTTP 応答ステータスコードを受け取る INT ポインタである。
vtbl 15 HRESULT get_StatusText(LPWSTR* Status)
StatusLPWSTR*outHTTP 応答ステータスの説明文を受け取る LPWSTR ポインタである。
vtbl 16 HRESULT get_ResponseText(LPWSTR* Body)
BodyLPWSTR*out応答本文を文字列として受け取る LPWSTR ポインタである。
vtbl 17 HRESULT get_ResponseBody(VARIANT* Body)
BodyVARIANT*out応答本文をバイト配列(SAFEARRAY)として受け取る VARIANT ポインタである。
vtbl 18 HRESULT get_ResponseStream(VARIANT* Body)
BodyVARIANT*out応答本文を IStream として受け取る VARIANT ポインタである。
vtbl 19 HRESULT get_Option(WinHttpRequestOption Option, VARIANT* Value)
OptionWinHttpRequestOptionin取得するオプションの種類を示す WinHttpRequestOption 列挙値である。
ValueVARIANT*out取得したオプション値を受け取る VARIANT ポインタである。
vtbl 20 HRESULT put_Option(WinHttpRequestOption Option, VARIANT Value)
OptionWinHttpRequestOptionin設定するオプションの種類を示す WinHttpRequestOption 列挙値である。
ValueVARIANTinオプションに設定する値を保持する VARIANT である。
vtbl 21 HRESULT WaitForResponse(VARIANT Timeout, VARIANT_BOOL* Succeeded)
TimeoutVARIANTin応答待機の最大秒数を保持する VARIANT。省略時は無制限に待機する。
SucceededVARIANT_BOOL*out応答受信に成功したかを受け取る VARIANT_BOOL ポインタである。
vtbl 22 HRESULT Abort()
vtbl 23 HRESULT SetTimeouts(INT ResolveTimeout, INT ConnectTimeout, INT SendTimeout, INT ReceiveTimeout)
ResolveTimeoutINTin名前解決のタイムアウトをミリ秒で指定する INT である。
ConnectTimeoutINTin接続確立のタイムアウトをミリ秒で指定する INT である。
SendTimeoutINTin送信のタイムアウトをミリ秒で指定する INT である。
ReceiveTimeoutINTin受信のタイムアウトをミリ秒で指定する INT である。
vtbl 24 HRESULT SetClientCertificate(LPWSTR ClientCertificate)
ClientCertificateLPWSTRin使用するクライアント証明書を証明書ストア上の位置で示す LPWSTR である。
vtbl 25 HRESULT SetAutoLogonPolicy(WinHttpRequestAutoLogonPolicy AutoLogonPolicy)
AutoLogonPolicyWinHttpRequestAutoLogonPolicyin自動ログオンの方針を示す WinHttpRequestAutoLogonPolicy 列挙値である。

HSP用 COM定義

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

出力引数:
#define global IID_IWinHttpRequest "{016FE2EC-B2C8-45F8-B23B-39E53A75396B}"
#usecom global IWinHttpRequest IID_IWinHttpRequest "{}"
#comfunc global IWinHttpRequest_SetProxy               7 int,int,int
#comfunc global IWinHttpRequest_SetCredentials         8 wstr,wstr,int
#comfunc global IWinHttpRequest_Open                   9 wstr,wstr,int
#comfunc global IWinHttpRequest_SetRequestHeader       10 wstr,wstr
#comfunc global IWinHttpRequest_GetResponseHeader      11 wstr,var
#comfunc global IWinHttpRequest_GetAllResponseHeaders  12 var
#comfunc global IWinHttpRequest_Send                   13 int
#comfunc global IWinHttpRequest_get_Status             14 var
#comfunc global IWinHttpRequest_get_StatusText         15 var
#comfunc global IWinHttpRequest_get_ResponseText       16 var
#comfunc global IWinHttpRequest_get_ResponseBody       17 var
#comfunc global IWinHttpRequest_get_ResponseStream     18 var
#comfunc global IWinHttpRequest_get_Option             19 int,var
#comfunc global IWinHttpRequest_put_Option             20 int,int
#comfunc global IWinHttpRequest_WaitForResponse        21 int,var
#comfunc global IWinHttpRequest_Abort                  22
#comfunc global IWinHttpRequest_SetTimeouts            23 int,int,int,int
#comfunc global IWinHttpRequest_SetClientCertificate   24 wstr
#comfunc global IWinHttpRequest_SetAutoLogonPolicy     25 int
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。
; ※IDispatch 実装。HSP では comobj 経由でメソッド名による呼び出しも可能(vtbl 不要)。