HttpWaitForDemandStart

新しいリクエストキュープロセスで処理可能な新しいリクエストの到着を待つ。

HttpWaitForDemandStart RequestQueueHandle, Overlapped

RequestQueueHandle : [intptr] デマンドスタートを登録するリクエストキューへのハンドル。リクエストキューは HttpCreateRequestQueue で作成される。
Overlapped : [var] 非同期呼び出しの場合は pOverlapped に OVERLAPPED 構造体へのポインタを設定する。同期呼び出しの場合は NULL にする。

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

解説

新しいリクエストキュープロセスで処理可能な新しいリクエストの到着を待つ。

[戻り値]
関数が成功すると NO_ERROR を返す。関数が失敗した場合、次のいずれかのエラーコードを返す。このドキュメントは省略されている。

[備考]
コントローラプロセスのみが HttpWaitForDemandStart
を呼んでデマンドスタート通知を登録できる。コントローラプロセスとはリクエストキューを作成しコントローラであることを
HTTP_CREATE_REQUEST_QUEUE_FLAG_CONTROLLER
で示したプロセスのことである。そうでないプロセスが呼ぶと ERROR_INVALID_ID_AUTHORITY
を返す。HttpWaitForDemandStart
は新しいリクエストが到着したときに完了する。このときコントローラプロセスは新しいワーカープロセスを起動し、待機中リクエストを処理させられる。ワーカー起動の遅延により必要時までリソース消費を避けられる。HTTP
Server API は同時に 1
つだけ未処理通知登録を許容する。同一リクエストキューに対して連続で何度でも呼び出せる。同一キュー上で同時に動作するプロセス数に制限はない。CancelIoEx
と pOverlapped で非同期呼び出しをキャンセル可能である。

情報

プラグイン / モジュール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