HttpSendHttpResponse

指定 HTTP リクエストに対する HTTP 応答を送信する。

HttpSendHttpResponse RequestQueueHandle, RequestId, Flags, HttpResponse, CachePolicy, BytesSent, Reserved1, Reserved2, Overlapped, LogData

RequestQueueHandle : [intptr] 指定リクエストを取得したリクエストキューへのハンドル。リクエストキューは HttpCreateRequestQueue で作成される。Windows Server 2003 SP1 および Windows XP SP2 ではハンドルは HttpCreateHttpHandle により作成される。
RequestId : [int64] この応答が対応する HTTP リクエストの識別子。HttpReceiveHttpRequest で返される HTTP_REQUEST の RequestId メンバの値。HTTP_NULL_ID は不可。
Flags : [int] 次のフラグ値の組み合わせを指定できる。相互排他なものは明示される。このドキュメントは省略されている。
HttpResponse : [var] HTTP 応答を定義する HTTP_RESPONSE 構造体へのポインタ。
CachePolicy : [var] 応答をキャッシュするために使う HTTP_CACHE_POLICY 構造体へのポインタ。Windows Server 2003 SP1 および Windows XP SP2 ではこのパラメータは予約されており NULL でなければならない。
BytesSent : [var] 任意。同期動作時に送信したバイト数を受け取る変数へのポインタ。pOverlapped で非同期呼び出しをする場合は NULL にし、同期時は有効なアドレスが必要である。
Reserved1 : [intptr] 予約されている。NULL でなければならない。
Reserved2 : [int] 予約されている。0 でなければならない。
Overlapped : [var] 非同期呼び出しの場合は pOverlapped に OVERLAPPED 構造体へのポインタを設定する。同期呼び出しの場合は NULL にする。
LogData : [var] 応答のログ記録に使う HTTP_LOG_DATA 構造体へのポインタ。HTTP_LOG_FIELDS_DATA 構造体へのポインタを PHTTP_LOG_DATA にキャストして渡す。URL グループやサーバーセッションでログ記録が有効でも、アプリがログフィールドデータ構造体を渡さないとログされない。Windows Server 2003 および Windows XP SP2 ではこのパラメータは予約されており NULL でなければならない。Windows Vista および Windows Server 2008 で新規。

(プラグイン / モジュール : httpapi.dll)

解説

指定 HTTP リクエストに対する HTTP 応答を送信する。

[戻り値]
関数が成功すると NO_ERROR を返す。非同期で使用した場合 ERROR_IO_PENDING
は次のリクエストがまだ準備できていないことを示す。関数が失敗した場合、次のいずれかのエラーコードを返す。このドキュメントは省略されている。

[備考]
HttpSendHttpResponse は応答ヘッダを生成・送信するために使用し、必要に応じて
HttpSendResponseEntityBody でエンティティボディを送れる。Content-Length ヘッダも
Transfer-Encoding ヘッダも応答に含まれない場合、アプリケーションは
HTTP_SEND_RESPONSE_DISCONNECT
フラグで接続を明示的に閉じて応答終了を示す必要がある。HTTP_KNOWN_HEADER の HttpHeaderServer 識別子で
"Server:" ヘッダを指定すると、その値にスペースと "Microsoft-HTTPAPI/1.0" が続けて配置される。未指定なら
"Microsoft-HTTPAPI/1.0" がサーバーヘッダとして付けられる。注: 同一 RequestId に対し
HttpSendHttpResponseHttpSendResponseEntityBody
を別スレッドから同時に呼んではならない。

情報

プラグイン / モジュールhttpapi.dll
バージョン1.0
作成日2026/04/16
著作者IronHSP / CsWin32 bridge
URLhttps://github.com/inovia/IronHSP
備考Win32 API の httpapi.dll 関数群。CsWin32 + win32metadata から自動生成。
hsp3net 専用 (intptr / NSTRUCT / wstr を使用)。
タイプ拡張命令
グループWin32API
対応環境
  • Windows 版 HSP
hs ファイルhsphelp\win32_httpapi_gen2.hs