Структура описывает файл, найденный с помощью функций FindFirstFile, FindFirstFileEx, или FindNextFile.
typedef struct _WIN32_FIND_DATA {
DWORD dwFileAttributes;
FILETIME ftCreationTime;
FILETIME ftLastAccessTime;
FILETIME ftLastWriteTime;
DWORD nFileSizeHigh;
DWORD nFileSizeLow;
DWORD dwReserved0;
DWORD dwReserved1;
TCHAR cFileName[ MAX_PATH ];
TCHAR cAlternateFileName[ 14 ];
} WIN32_FIND_DATA;
Поля структуры:
dwFileAttributes
Описывает атрибуты найденного файла или каталога, может принимать одно или несколько из следующих значений:
| Атрибут
| Значение
|
| FILE_ATTRIBUTE_ARCHIVE
| Файл или каталог – архивный файл. Приложения используют этот атрибут, чтобы отметить файлы для резервного копирования или перемещения.
|
| FILE_ATTRIBUTE_COMPRESSED
| Файл или каталог – сжатые. Для файла, это означает, что все данные в файле сжимаются. Для каталога, это означает, что по умолчанию все создаваемые в нем новые файлы и каталоги сжимаются.
|
| FILE_ATTRIBUTE_DIRECTORY
| Дескриптор идентифицирует каталог
|
| FILE_ATTRIBUTE_ENCRYPTED
| Файл или каталог – зашифрованные. Для файла, это означает, что все данные в файле зашифрованы. Для каталога, это означает, что по умолчанию все создаваемые в нем файлы или подкаталоги шифруются.
|
| FILE_ATTRIBUTE_HIDDEN
| Файл или каталог – скрытый. Они не включаются в обычный перечень файлов каталога.
|
| FILE_ATTRIBUTE_NORMAL
| Файл или каталог не имеют других установленных атрибутов. Этот атрибут допустим только в том случае, если используется как единственный.
|
| FILE_ATTRIBUTE_OFFLINE
| К данным файла нельзя обратиться немедленно. Показывает, что содержимое файла было физически перемещено на недоступное (offline) устройство.
|
| FILE_ATTRIBUTE_READONLY
| Файл или каталог только для чтения. Приложения могут читать из этого файла, но не могут записать в него или удалить его. Если это каталог, то приложения не могут удалить его.
|
| FILE_ATTRIBUTE_REPARSE_POINT
| Файл имеет связанную точку монтирования.
|
| FILE_ATTRIBUTE_SPARSE_FILE
| Файл является разреженным. В файловой системе NTFS разреженные файлы позволяют программам создавать очень большие файлы, но хранить их на минимуме дискового пространства.
|
| FILE_ATTRIBUTE_SYSTEM
| Файл или каталог - часть операционной системы или используются исключительно операционной системой.
|
| FILE_ATTRIBUTE_TEMPORARY
| Файл для временного хранения данных. Файловая система предпримет попытку хранения данных не на дисках, а в памяти для ускорения доступа к ним. Временные файлы должны удаляться программами, создавшими их, как только в них больше нет необходимости
|
ftCreationTime
Структура FILETIME. Хранит время создания файла или каталога Поля структуры будут содержать нули, если файловая система не поддерживает FILETIME получение соответствующей информации.
ftLastAccessTime
Структура FILETIME. Хранит время последнего доступа к файлу или каталогу. Поля структуры будут содержать нули, если файловая система не поддерживает FILETIME получение соответствующей информации.
ftLastWriteTime
Структура FILETIME. Хранит время последней записи в файл. Поля структуры будут содержать нули, если файловая система не поддерживает FILETIME получение соответствующей информации.
nFileSizeHigh
Старшая часть размера файла.
nFileSizeLow
Младшая часть размера файла.
Таким образом общая длина размера файла – 64 двоичных разряда. Размер файла может быть определен по следующей формуле:
(nFileSizeHigh * MAXDWORD) + nFileSizeLow, где MAXDWORD – константа, заданная в файле winnt.h.
DwReserved0
Если один из атрибутов файла FILE_ATTRIBUTE_REPARSE_POINT, то данное поле определяет признак монтирования. В противном случае значение не определено, и не может быть использовано.
DwReserved1
Зарезервировано для использования в будущем.
CFileName
Нуль-завершенная строка, содержащая имя файла.
CAlternateFileName
Нуль-завершенная строка, содержащая альтернативное имя файла в классическом формате 8.3, например filename.ext.