WinHttpQueryDataAvailable

WinHttpReadData で読み取り可能なデータ量(バイト単位)を返す。

WinHttpQueryDataAvailable hRequest, lpdwNumberOfBytesAvailable

hRequest : [intptr] WinHttpOpenRequest が返した有効な HINTERNET ハンドル。WinHttpQueryDataAvailable を呼ぶ前に WinHttpReceiveResponse を完了させておく必要がある。
lpdwNumberOfBytesAvailable : [var] 利用可能バイト数を受け取る ULONG 変数へのポインタ。非同期モードでは必ず NULL にしてコールバックで取得すること。

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

解説

WinHttpReadData で読み取り可能なデータ量(バイト単位)を返す。

[戻り値]
成功時は TRUE、失敗時は FALSE。拡張エラー情報は GetLastError で取得する。主なエラーコードは以下の通り。
(以下省略)

[備考]
非同期モード (WINHTTP_FLAG_ASYNC) でも同期/非同期のどちらでも動作する。FALSE を返した場合は
GetLastError で原因取得。TRUE を返した場合は
WINHTTP_CALLBACK_STATUS_DATA_AVAILABLE 完了コールバックで結果とパラメータを判断する。警告:
非同期モードでは lpdwNumberOfBytesAvailable に必ず NULL
を渡し、コールバック関数内でバイト数を取得すること。そうしないとメモリフォールトが発生する可能性がある。本関数は、次の
WinHttpReadData 呼び出しで即座に読み取れるバイト数を返す。応答終了の判定には WinHttpReadData
の戻り値を使うこと。WinHttpOpenRequest で作成し WinHttpSendRequest
で送信したハンドルでは、WinHttpReceiveResponse を先に呼ぶ必要がある。

情報

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