指定されたリクエストを HTTP サーバーに送信する。(HttpSendRequestExW)
HttpSendRequestExW hRequest, lpBuffersIn, lpBuffersOut, dwFlags, dwContext
hRequest : [intptr] HttpOpenRequest 関数の呼び出しから返されたハンドル。 lpBuffersIn : [var] 省略可能。INTERNET_BUFFERS 構造体へのポインタ。 lpBuffersOut : [var] 予約済み。NULL を指定しなければならない。 dwFlags : [int] 予約済み。0 を指定しなければならない。 dwContext : [int] ステータスコールバック関数が登録されている場合に使用される、アプリケーション定義のコンテキスト値。
(プラグイン / モジュール : wininet.dll)
指定されたリクエストを HTTP サーバーに送信する。(HttpSendRequestExW) [戻り値] 関数が成功した場合、戻り値は TRUE である。 関数が失敗した場合、戻り値は FALSE である。拡張エラー情報を取得するには GetLastError を呼び出す。 [備考] HttpSendRequestEx はレスポンスの送信と受信の両方を実行する。これにより、アプリケーションは HttpSendRequestEx に渡された単一バッファ以外の余分なデータを送信できない。HttpSendRequestEx に通常渡される範囲を超えて余分なデータを送信する必要がある呼び出し側は、代わりに HttpSendRequest を呼び出すことができる。HttpSendRequestEx の呼び出し後、InternetWriteFile を呼び出して残りのデータを送信する。最後に HttpEndRequest の呼び出しで処理を完了する。注意: HttpSendRequestExA 関数は送信するデータを ANSI 文字ではなく ISO-8859-1 文字として表現する。HttpSendRequestExW 関数は送信するデータを ISO-8859-1 文字を UTF-16LE 文字に変換したものとして表現する。その結果、追加するヘッダーに非 ASCII 文字を含む可能性がある場合、HttpSendRequestExW 関数を使用するのは決して安全ではない。代わりにアプリケーションは MultiByteToWideChar および WideCharToMultiByte 関数で Codepage パラメータに 28591 を指定し、ANSI 文字と UTF-16LE 文字の間でマッピングできる。注意: WinINet はサーバー実装をサポートしていない。さらに、サービスから使用すべきでもない。サーバー実装やサービスでは Microsoft Windows HTTP Services (WinHTTP) を使用すること。 > [!NOTE] > wininet.h ヘッダーは HttpSendRequestEx をエイリアスとして定義しており、UNICODE プリプロセッサ定数の定義に基づいて本関数の ANSI 版または Unicode 版を自動的に選択する。エンコーディング中立のエイリアスとエンコーディング中立でないコードを混在させると、コンパイルエラーや実行時エラーの原因となるミスマッチが発生する可能性がある。詳細は [Conventions for Function Prototypes](/windows/win32/intl/conventions-for-function-prototypes) を参照のこと。
| プラグイン / モジュール | wininet.dll |
| バージョン | 1.0 |
| 作成日 | 2026/04/16 |
| 著作者 | IronHSP / CsWin32 bridge |
| URL | https://github.com/inovia/IronHSP |
| 備考 | Win32 API の wininet.dll 関数群。CsWin32 + win32metadata から自動生成。
hsp3net 専用 (intptr / NSTRUCT / wstr を使用)。 |
| タイプ | 拡張命令 |
| グループ | Win32API |
| 対応環境 |
|
| hs ファイル | hsphelp\win32_wininet_gen2.hs |