次の方法で共有


FtpFindFirstFileA 関数 (wininet.h)

指定された FTP セッションの指定したディレクトリを検索します。 ファイルとディレクトリのエントリは、WIN32_FIND_DATA 構造でアプリケーションに返されます。

構文

HINTERNET FtpFindFirstFileA(
  [in]  HINTERNET          hConnect,
  [in]  LPCSTR             lpszSearchFile,
  [out] LPWIN32_FIND_DATAA lpFindFileData,
  [in]  DWORD              dwFlags,
  [in]  DWORD_PTR          dwContext
);

パラメーター

[in] hConnect

InternetConnectから返された FTP セッション 処理します。

[in] lpszSearchFile

FTP サーバーのファイル システムの有効なディレクトリ パスまたはファイル名を指定する、null終了文字列へのポインター。 文字列にはワイルドカードを含めることができますが、空白は使用できません。 lpszSearchFile の値が NULL 場合、または空の文字列の場合、関数はサーバー上の現在のディレクトリ内の最初のファイルを検索します。

[out] lpFindFileData

見つかったファイルまたはディレクトリに関する情報を受け取る WIN32_FIND_DATA 構造体へのポインター。

[in] dwFlags

この関数の動作を制御します。 このパラメーターには、次の値の組み合わせを指定できます。

INTERNET_FLAG_HYPERLINK

INTERNET_FLAG_NEED_FILE

INTERNET_FLAG_NO_CACHE_WRITE

INTERNET_FLAG_RELOAD

INTERNET_FLAG_RESYNCHRONIZE

[in] dwContext

この検索を任意のアプリケーション データに関連付けるアプリケーション定義値を指定する変数へのポインター。 このパラメーターは、アプリケーションが既に internetSetStatusCallback 呼び出して状態コールバック関数を設定している場合にのみ使用されます。

戻り値

ディレクトリ列挙が正常に開始された場合は要求の有効なハンドルを返すか、それ以外の場合は NULL 返します。 特定のエラー メッセージを取得するには、GetLastError呼び出します。 GetLastError がERROR_INTERNET_EXTENDED_ERRORを返す場合、関数が一致するファイルを見つけられない場合と同様に、InternetGetLastResponseInfo 関数を呼び出して、拡張エラー テキストを取得します。詳細については、「エラーの処理 」を参照してください。

備考

FtpFindFirstFileの場合、WIN32_FIND_DATA 構造体で返されるファイル時刻は、協定世界時 (UTC) 形式ではなく、ローカル タイム ゾーンにあります。

FtpFindFirstFile は、FindFirstFile 関数に似ています。 ただし、特定の FTP セッション内で一度に発生できる ftpFindFirstFile は 1 つだけであることに注意してください。 したがって、列挙は FTP セッション ハンドルと関連付けられます。 これは、FTP プロトコルではセッションごとに 1 つのディレクトリ列挙のみを許可するためです。

FtpFindFirstFile を呼び出した後、InternetCloseHandle呼び出すまで、アプリケーションは指定された FTP セッション ハンドル FtpFindFirstFile を再度呼び出すことはできません。 そのハンドルで FtpFindFirstFile を する呼び出しが行われた場合、関数は ERROR_FTP_TRANSFER_IN_PROGRESSで失敗します。 ftpFindFirstFileによって返される HINTERNET ハンドル の使用が完了したら、InternetCloseHandle 関数を使用して閉じる必要があります。

FtpFindFirstFileディレクトリ列挙を開始した後、internetFindNextFile 関数 使用して列挙を続行できます。

FTP プロトコルは列挙の標準的な手段を提供しないため、ファイルの作成日時など、ファイルに関する一般的な情報の一部は常に使用できないか、正しいとは限りません。 この場合、FtpFindFirstFile を し、InternetFindNextFile を 、使用可能な情報に基づいて最適な推測で使用できない情報を入力します。 たとえば、作成日と最終アクセス日は、多くの場合、ファイルの変更日と同じです。

アプリケーションは、FtpOpenFile の呼び出しと InternetCloseHandleの呼び出しの間に、FtpFindFirstFile 呼び出すことはできません。

WinINet API の他のすべての側面と同様に、この関数は DllMain またはグローバル オブジェクトのコンストラクターとデストラクターから安全に呼び出すことはできません。

注意 WinINet では、サーバーの実装はサポートされていません。 また、サービスから使用しないでください。 サーバーの実装またはサービスの場合は、Microsoft Windows HTTP Services (WinHTTP)を使用します。
 

手記

wininet.h ヘッダーは、Unicode プリプロセッサ定数の定義に基づいて、この関数の ANSI または Unicode バージョンを自動的に選択するエイリアスとして FtpFindFirstFile を定義します。 エンコードに依存しないエイリアスをエンコードに依存しないコードと組み合わせて使用すると、コンパイルエラーやランタイム エラーが発生する不一致が発生する可能性があります。 詳細については、「関数プロトタイプの 規則」を参照してください。

必要条件

要件 価値
サポートされる最小クライアント Windows 2000 Professional [デスクトップ アプリのみ]
サポートされる最小サーバー Windows 2000 Server [デスクトップ アプリのみ]
ターゲット プラットフォーム の ウィンドウズ
ヘッダー wininet.h
ライブラリ Wininet.lib
DLL Wininet.dll

関連項目

FTP セッション

WinINet Functions の