InternetOpenUrl、FtpOpenFile、HttpOpenRequest が返したハンドルからデータを読み取る。
InternetReadFile hFile, lpBuffer, dwNumberOfBytesToRead, lpdwNumberOfBytesRead
hFile : [intptr] InternetOpenUrl、FtpOpenFile、HttpOpenRequest から返されたハンドル。 lpBuffer : [intptr] データを受け取るバッファへのポインタ。 dwNumberOfBytesToRead : [int] 読み取るバイト数。 lpdwNumberOfBytesRead : [var] 読み取ったバイト数を受け取る変数へのポインタ。作業前に 0 に設定される。
(プラグイン / モジュール : wininet.dll)
InternetOpenUrl、FtpOpenFile、HttpOpenRequest が返したハンドルからデータを読み取る。 [戻り値] 成功時は TRUE、失敗時は FALSE。拡張エラー情報は GetLastError で取得する。必要に応じて InternetGetLastResponseInfo も使う。 [備考] 基本的な ReadFile とほぼ同じだが、いくつかの違いがある。通常 HINTERNET ハンドルから順次バイトストリームとしてデータを取得する。読み取るバイト数を dwNumberOfBytesToRead で指定し、データは lpBuffer に返される。全データ取得には TRUE かつ lpdwNumberOfBytesRead が 0 になるまで繰り返し呼ぶ必要がある。これはキャッシュ更新にも重要。InternetOpenUrl で取得したハンドルの場合、WinINet は FTP ディレクトリリストなどを HTML ストリームに変換する。バッファが小さすぎて 1 行の HTML が入らない場合 ERROR_INSUFFICIENT_BUFFER を返す。非同期実行中に完了しなかった場合は FALSE を返し GetLastError が ERROR_IO_PENDING を返す。完了時は InternetStatusCallback が INTERNET_STATUS_REQUEST_COMPLETE で呼ばれる。WinINet はサービス実装では使用しないこと。
| プラグイン / モジュール | 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 |