HttpSendRequestW 関数 (wininet.h)
指定した要求を HTTP サーバーに送信し、呼び出し元が通常 HttpSendRequestEx に渡されるデータを超える追加データを送信できるようにします。
構文
BOOL HttpSendRequestW(
[in] HINTERNET hRequest,
[in] LPCWSTR lpszHeaders,
[in] DWORD dwHeadersLength,
[in] LPVOID lpOptional,
[in] DWORD dwOptionalLength
);
パラメーター
[in] hRequest
HttpOpenRequest 関数の呼び出しによって返されるハンドル。
[in] lpszHeaders
要求に追加する追加のヘッダーを含む null で終わる文字列へのポインター。 追加するヘッダーがない場合、このパラメーターは NULL にすることができます。
[in] dwHeadersLength
追加ヘッダーのサイズ (TCHAR)。 このパラメーターが -1L で 、lpszHeaders が NULL でない場合、この関数は lpszHeaders が 0 で終わる (ASCIIZ) であると想定し、長さが計算されます。 詳細については、「解説」を参照してください。
[in] lpOptional
要求ヘッダーの直後に送信される任意のデータを含むバッファーへのポインター。 このパラメーターは、一般に POST および PUT 操作に使用されます。 オプションのデータには、サーバーにポストされるリソースまたは情報を指定できます。 送信する省略可能なデータがない場合、このパラメーターは NULL にすることができます。
[in] dwOptionalLength
省略可能なデータのサイズ (バイト単位)。 送信する省略可能なデータがない場合、このパラメーターは 0 にすることができます。
戻り値
成功した場合は TRUE 、それ以外の場合 は FALSE を 返します。 詳細なエラー情報を得るには、GetLastError を呼び出します。
解説
HttpSendRequest は、指定した要求を HTTP サーバーに送信し、クライアントが要求と共に送信する追加のヘッダーを指定できるようにします。
また、 関数を使用すると、クライアントは要求ヘッダーの直後に HTTP サーバーに送信する省略可能なデータを指定できます。 この機能は、通常、PUT や POST などの "書き込み" 操作に使用されます。
要求が送信されると、HTTP サーバーからの状態コードと応答ヘッダーが読み取られます。 これらのヘッダーは内部的に管理され、 HttpQueryInfo 関数を介してクライアント アプリケーションで使用できます。
アプリケーションは、 HttpSendRequest の複数の呼び出しで同じ HTTP 要求ハンドルを使用できますが、アプリケーションは関数を再度呼び出す前に、前の呼び出しから返されたすべてのデータを読み取る必要があります。
オフライン モードでは、リソースがインターネット キャッシュに見つからない場合、 HttpSendRequest は ERROR_FILE_NOT_FOUND を返します。
HttpSendRequest には、HttpSendRequestA (ANSI ビルドで使用) と HttpSendRequestW (Unicode ビルドで使用) の 2 つのバージョンがあります。 dwHeadersLength が -1L で lpszHeaders が NULL でない場合は、HttpSendRequestA が呼び出されると、この関数は lpszHeaders が 0 で終わる (ASCIIZ) と想定し、長さが計算されます。 HttpSendRequestW が呼び出されると、関数は ERROR_INVALID_PARAMETERで失敗します。
注意
wininet.h ヘッダーは、UNICODE プリプロセッサ定数の定義に基づいて、この関数の ANSI または Unicode バージョンを自動的に選択するエイリアスとして HttpSendRequest を定義します。 encoding-neutral エイリアスの使用を encoding-neutral ではないコードと混在すると、コンパイル エラーまたはランタイム エラーが発生する不一致が発生する可能性があります。 詳細については、「 関数プロトタイプの規則」を参照してください。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows 2000 Professional [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows 2000 Server [デスクトップ アプリのみ] |
対象プラットフォーム | Windows |
ヘッダー | wininet.h |
Library | Wininet.lib |
[DLL] | Wininet.dll |