bool CFindFile::FindFirst(LPCWSTR wildcard, CFileInfoW &fileInfo) { if (!Close()) return false; if (g_IsNT) { WIN32_FIND_DATAW fd; _handle = ::FindFirstFileW(wildcard, &fd); #ifdef WIN_LONG_PATH if (_handle == INVALID_HANDLE_VALUE) { UString longPath; if (GetLongPath(wildcard, longPath)) _handle = ::FindFirstFileW(longPath, &fd); } #endif if (_handle != INVALID_HANDLE_VALUE) ConvertWIN32_FIND_DATA_To_FileInfo(fd, fileInfo); } else { WIN32_FIND_DATAA fd; _handle = ::FindFirstFileA(UnicodeStringToMultiByte(wildcard, GetCurrentCodePage()), &fd); if (_handle != INVALID_HANDLE_VALUE) ConvertWIN32_FIND_DATA_To_FileInfo(fd, fileInfo); } return (_handle != INVALID_HANDLE_VALUE); }
bool CFindFile::FindNext(CFileInfo &fileInfo) { WIN32_FIND_DATA fd; bool result = BOOLToBool(::FindNextFile(_handle, &fd)); if (result) ConvertWIN32_FIND_DATA_To_FileInfo(fd, fileInfo); return result; }
bool CFindFile::FindNext(CFileInfoW &fileInfo) { if (g_IsNT) { WIN32_FIND_DATAW fd; if (!::FindNextFileW(_handle, &fd)) return false; ConvertWIN32_FIND_DATA_To_FileInfo(fd, fileInfo); } else { WIN32_FIND_DATAA fd; if (!::FindNextFileA(_handle, &fd)) return false; ConvertWIN32_FIND_DATA_To_FileInfo(fd, fileInfo); } return true; }
bool CFindFile::FindFirst(LPCTSTR wildcard, CFileInfo &fileInfo) { Close(); WIN32_FIND_DATA findData; _handle = ::FindFirstFile(wildcard, &findData); if (_handleAllocated = (_handle != INVALID_HANDLE_VALUE)) ConvertWIN32_FIND_DATA_To_FileInfo(findData, fileInfo); return _handleAllocated; }
bool CFindFile::FindFirst(LPCWSTR wildcard, CFileInfoW &fileInfo) { Close(); if (g_IsNT) { WIN32_FIND_DATAW findData; _handle = ::FindFirstFileW(wildcard, &findData); if (_handleAllocated = (_handle != INVALID_HANDLE_VALUE)) ConvertWIN32_FIND_DATA_To_FileInfo(findData, fileInfo); } else { WIN32_FIND_DATAA findData; _handle = ::FindFirstFileA(UnicodeStringToMultiByte(wildcard, GetCurrentCodePage()), &findData); if (_handleAllocated = (_handle != INVALID_HANDLE_VALUE)) ConvertWIN32_FIND_DATA_To_FileInfo(findData, fileInfo); } return _handleAllocated; }
bool CFindFile::FindFirst(LPCTSTR wildcard, CFileInfo &fileInfo) { if (!Close()) return false; WIN32_FIND_DATA fd; _handle = ::FindFirstFile(wildcard, &fd); #ifdef WIN_LONG_PATH2 if (_handle == INVALID_HANDLE_VALUE) { UString longPath; if (GetLongPath(wildcard, longPath)) _handle = ::FindFirstFileW(longPath, &fd); } #endif if (_handle == INVALID_HANDLE_VALUE) return false; ConvertWIN32_FIND_DATA_To_FileInfo(fd, fileInfo); return true; }