InternetQueryDataAvailable

サーバーに問い合わせて利用可能なデータの量を取得する。

InternetQueryDataAvailable hFile, lpdwNumberOfBytesAvailable, dwFlags, dwContext

hFile : [intptr] InternetOpenUrl、FtpOpenFile、GopherOpenFile、または HttpOpenRequest 関数から返されたハンドル。
lpdwNumberOfBytesAvailable : [var] 利用可能なバイト数を受け取る変数へのポインタ。NULL を指定可能。
dwFlags : [int] 本パラメータは予約されており、0 を指定しなければならない。
dwContext : [int] 本パラメータは予約されており、0 を指定しなければならない。

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

解説

サーバーに問い合わせて利用可能なデータの量を取得する。

[戻り値]
関数が成功した場合は TRUE を、失敗した場合は FALSE を返す。拡張エラー情報を取得するには GetLastError
を呼び出す。一致するファイルが見つからない場合、GetLastError は ERROR_NO_MORE_FILES を返す。

[備考]
本関数は、後続の InternetReadFile
の呼び出しによって即座に読み取り可能なデータのバイト数を返す。現在利用できるデータがなく、ファイルの末尾にも到達していない場合、要求はデータが利用可能になるまで待機する。残りのデータ量は、InternetQueryDataAvailable
の呼び出しで示された利用可能なすべてのデータが読み取られるまで再計算されない。HttpOpenRequest で作成され
HttpSendRequestEx で送信された HINTERNET ハンドルの場合、InternetQueryDataAvailable
を使用する前にハンドルに対して HttpEndRequest を呼び出さなければならない。WinINet API
の他のすべての側面と同様に、本関数は DllMain
やグローバルオブジェクトのコンストラクタ・デストラクタの中から安全に呼び出すことはできない。注意: WinINet
はサーバー実装をサポートしていない。さらに、サービスから使用すべきでもない。サーバー実装やサービスでは Microsoft Windows
HTTP Services (WinHTTP) を使用すること。

情報

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