November 5, 2004
FindFirstFile, FindNextFile, FindClose に関しての覚書
- FindFirstFile
- 条件に合うファイルが見つからない場合も含め、有効なファイルを返せない場合は、INVALID_HANDLE_VALUE を返す。
- 条件に合うファイルが見つからない場合は GetLastError() は ERROR_FILE_NOT_FOUND が返る。
- FindNextFile
- 条件に合うファイルが見つからない場合も含め、有効なファイルを返せない場合は、FALSE を返す。
- 条件に合うファイルが見つからない場合は GetLastError() は ERROR_NO_MORE_FILES が返る。
- FindClose
- FindFirstFile が成功しなかった場合は、ハンドルを渡してはいけない。ERROR_INVALID_HANDLE エラーを返したりなんていう、親切な実装はされていない。渡すとスレッドが死んでしまう。
- CloseHandle と異なり、NULL ハンドルを渡しても死んでしまうようだ。もちろん、INVALID_HANDLE_VALUE もだめである。
コメント