FtpOpenFileA 関数 (wininet.h)
読み取りまたは書き込みのために、FTP サーバー上のリモート ファイルへのアクセスを開始します。
構文
HINTERNET FtpOpenFileA(
[in] HINTERNET hConnect,
[in] LPCSTR lpszFileName,
[in] DWORD dwAccess,
[in] DWORD dwFlags,
[in] DWORD_PTR dwContext
);
パラメーター
[in] hConnect
FTP セッションへの処理。
[in] lpszFileName
アクセスするファイルの名前を含む null で終わる文字列へのポインター。
[in] dwAccess
ファイル アクセス。 このパラメーターは GENERIC_READ または GENERIC_WRITEできますが、両方を指定することはできません。
[in] dwFlags
転送が発生する条件。 アプリケーションでは、1 つの転送の種類と、ファイルのキャッシュの制御方法を示すフラグのいずれかを選択する必要があります。
転送の種類には、次のいずれかの値を指定できます。
ファイルのキャッシュを制御するには、次の値を使用します。 アプリケーションでは、これらの値の 1 つ以上を使用できます。
[in] dwContext
この検索を任意のアプリケーション データに関連付けるアプリケーション定義値を含む変数へのポインター。 これは、アプリケーションが既に InternetSetStatusCallback を 呼び出して状態コールバック関数を設定している場合にのみ使用されます。
戻り値
成功した場合はハンドルを返し、それ以外の場合は NULL を 返します。 特定のエラー メッセージを取得するには、 GetLastError を呼び出します。
注釈
FtpOpenFile を呼び出した後、InternetCloseHandle を呼び出すまで、同じ FTP セッション ハンドル上の FTP 関数に対する他のすべての呼び出しが失敗し、エラー メッセージが ERROR_FTP_TRANSFER_IN_PROGRESS に設定されます。 呼び出し元のアプリケーションが FtpOpenFile によって返される HINTERNET ハンドルの使用を終了したら、InternetCloseHandle 関数を使用して閉じる必要があります。
1 つの FTP セッションで開くことができるファイルは 1 つだけです。 したがって、ファイル ハンドルは返されません。アプリケーションでは、必要に応じて FTP セッション ハンドルが使用されます。
lpszFileName パラメーターには、現在のディレクトリに対して相対的な部分的または完全修飾のファイル名を指定できます。
WinINet API の他のすべての側面と同様に、この関数を DllMain またはグローバル オブジェクトのコンストラクターとデストラクター内から安全に呼び出すことはできません。
注意
wininet.h ヘッダーは、FTPOpenFile をエイリアスとして定義し、UNICODE プリプロセッサ定数の定義に基づいて、この関数の ANSI または Unicode バージョンを自動的に選択します。 エンコードに依存しないエイリアスをエンコードニュートラルでないコードと組み合わせて使用すると、コンパイルまたはランタイム エラーが発生する不一致が発生する可能性があります。 詳細については、「 関数プロトタイプの規則」を参照してください。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows 2000 Professional [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows 2000 Server [デスクトップ アプリのみ] |
対象プラットフォーム | Windows |
ヘッダー | wininet.h |
Library | Wininet.lib |
[DLL] | Wininet.dll |