<Return[F]><Top>

FindFirstFile

Declare Function Api_FindFirstFile& Lib "kernel32" Alias "FindFirstFileA" (ByVal lpFileName$, lpFindFileData As WIN32_FIND_DATA

Declare Function FindFirstFile Lib "kernel32" Alias "FindFirstFileA" (ByVal lpFileName As String, lpFindFileData As WIN32_FIND_DATA) As Long

指定されたファイル名に一致するファイルを、ディレクトリ内で検索する。ファイル名だけでなく、サブディレクトリ名も検索の対象となる。
検索の際に追加の属性を指定するには、FindFirstFileEx 関数を使う。

パラメータ
lpFileName
    有効なディレクトリ名、またはパス名とファイル名を保持している、NULL で終わる文字列へのポインタを指定する。

    この文字列に「*」または「?」のワイルドカード文字を含めることができる。
    Windows NT/2000:この関数の ANSI 版では、名前は最大 MAX_PATH 文字に制限されている。

    この制限をほぼ 32,000 ワイド文字へ拡張するには、この関数の Unicode 版を呼び出し、パスの前に "\\?\" という接頭辞を追加する。
    Windows 95/98:文字列の長さは、最大 MAX_PATH 文字である。
lpFindFileData
    1 個の WIN32_FIND_DATA 構造体へのポインタを指定する。

    関数から制御が返ると、この構造体に、見つかったファイル(またはサブディレクトリ)に関する情報が格納される。

 
戻り値
    関数が成功すると、検索ハンドルが返る。この検索ハンドルは、それ以降の FindNextFile 関数や FindClose 関数で使う。
    関数が失敗すると、INVALID_HANDLE_VALUE が返る。拡張エラー情報を取得するには、GetLastError 関数を使う。

解説
    FindFirstFile 関数は、検索ハンドルを開き、指定されたパターンと一致する名前を持つ最初のファイルに関する情報を返す。

    その後、この検索ハンドルを FindNextFile 関数に渡すと、指定されたパターンに一致するほかのファイルを検索できる。

    検索ハンドルが不要になったら、FindClose 関数を呼び出して閉じる。