FTP サーバー上のリモートファイルへの読み取りまたは書き込みアクセスを開始する。(Unicode)
FtpOpenFileW hConnect, lpszFileName, dwAccess, dwFlags, dwContext
hConnect : [intptr] FTP セッションへのハンドル。 lpszFileName : [wstr] アクセスするファイルの名前を格納した null 終端文字列へのポインタ。 dwAccess : [int] ファイルアクセス。本パラメータには GENERIC_READ または GENERIC_WRITE を指定できるが、両方を指定することはできない。 dwFlags : [int] 転送が発生する条件。アプリケーションは 1 つの転送種別と、ファイルのキャッシュ方法を制御するフラグの任意の組み合わせを選択すべきである。 dwContext : [int] 本検索を任意のアプリケーションデータと関連付けるアプリケーション定義の値を格納した変数へのポインタ。本パラメータは、アプリケーションが既に InternetSetStatusCallback を呼び出してステータスコールバック関数を設定している場合にのみ使用される。
(プラグイン / モジュール : wininet.dll)
FTP サーバー上のリモートファイルへの読み取りまたは書き込みアクセスを開始する。(Unicode) [戻り値] 成功した場合はハンドルを、失敗した場合は NULL を返す。具体的なエラーメッセージを取得するには GetLastError を呼び出す。 [備考] FtpOpenFile を呼び出した後、InternetCloseHandle を呼び出すまで、同じ FTP セッションハンドルに対する FTP 関数の他のすべての呼び出しは失敗し、エラーメッセージとして ERROR_FTP_TRANSFER_IN_PROGRESS が設定される。呼び出し側アプリケーションが FtpOpenFile によって返された HINTERNET ハンドルの使用を終えたら、InternetCloseHandle 関数で閉じなければならない。1 つの FTP セッションでは 1 つのファイルしか開くことができない。したがって、ファイルハンドルは返されず、アプリケーションは必要に応じて FTP セッションハンドルを使用するだけである。lpszFileName パラメータには、カレントディレクトリからの部分修飾または完全修飾のファイル名を指定できる。WinINet API の他のすべての側面と同様に、本関数は DllMain やグローバルオブジェクトのコンストラクタ・デストラクタの中から安全に呼び出すことはできない。注意: WinINet はサーバー実装をサポートしていない。さらに、サービスから使用すべきでもない。サーバー実装やサービスでは Microsoft Windows HTTP Services (WinHTTP) を使用すること。 > [!NOTE] > wininet.h ヘッダーは FtpOpenFile をエイリアスとして定義しており、UNICODE プリプロセッサ定数の定義に基づいて本関数の ANSI 版または Unicode 版を自動的に選択する。エンコーディング中立のエイリアスとエンコーディング中立でないコードを混在させると、コンパイルエラーや実行時エラーの原因となるミスマッチが発生する可能性がある。詳細は [Conventions for Function Prototypes](/windows/win32/intl/conventions-for-function-prototypes) を参照のこと。
| プラグイン / モジュール | 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 |