Структура WIN32_FIND_DATA

Структура WIN32_FIND_DATA описывает файл, найденный функцией 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, *PWIN32_FIND_DATA;  

Члены структуры

dwFileAttributes

Атрибуты искомого файла. Этот член структуры может состоять из одного или нескольких нижеследующих значений.

Атрибут

Предназначение

FILE_ATTRIBUTE_ARCHIVE Файл или каталог - архивный файл или каталог. Приложения используют этот атрибут, чтобы отметить файлы для резервного копирования или перемещения.
FILE_ATTRIBUTE_COMPRESSED Файл или каталог - сжатые. Для файла, это означает, что все данные в файле сжимаются. Для каталога, это означает, что сжатие - значение по умолчанию для недавно созданных файлов и подкаталогов.
FILE_ATTRIBUTE_DIRECTORY Дескриптор идентифицирует каталог.
FILE_ATTRIBUTE_ENCRYPTED Файл или каталог - зашифрованные. Для файла, это означает, что все данные в файле зашифрованы. Для каталога, это означает, что шифрование - значение по умолчанию для недавно созданных файлов и подкаталогов.
FILE_ATTRIBUTE_HIDDEN Файл или каталог - скрытые. Они не включаются в обычный перечень файлов каталога.
FILE_ATTRIBUTE_NORMAL Файл или каталог не имеют других установленных атрибутов. Этот атрибут допустим только в том случае, если используется как единственный.
FILE_ATTRIBUTE_OFFLINE Данные файла доступны не сразу. Этот атрибут указывает, что данные файла были физически перемещены, чтобы сохраняться автономно. Этот атрибут используется программами Удаленного хранилища, иерархического управления памятью. Приложения не должны произвольно изменять этот атрибут.
FILE_ATTRIBUTE_READONLY Файл или каталог только для чтения. Приложения могут читать этот файл, но не могут записать в него или удалить его. Что касается каталога, приложения не могут удалить его.
FILE_ATTRIBUTE_REPARSE_POINT Файл имеет связанную точку монтирования.
FILE_ATTRIBUTE_SPARSE_FILE Файл - разреженный файл.
FILE_ATTRIBUTE_SYSTEM Файл или каталог - часть операционной системы или используются исключительно операционной системой.
FILE_ATTRIBUTE_TEMPORARY Файл используется для временного хранения. Файловые системы пытаются держать все данные в памяти для более быстрого доступа вместо того, чтобы сбрасывать данные назад на запоминающее устройство большой емкости. Временный файл должен удаляться приложением, как только он больше не нужен.
 

ftCreationTime

Структура FILETIME, которая устанавливается, когда файл или каталог создавались. Если лежащая в основе файловая система не поддерживает время создания, этот член структуры равняется нулю.

ftLastAccessTime

Структура FILETIME. Для файла, структура устанавливает, когда последний раз читали из или писали в него или, в случае, если он исполняемый файл, запускали его. Для каталога, структура определяет, когда создавался каталог.  Если лежащая в основе файловая система не поддерживает время последнего обращения к файлу, член структуры ftLastAccessTime равняется нулю.

В файловой системе FAT, указанная дата и файлов и каталогов должен быть исправляет, но время дня будет всегда устанавливаться в полночь.

 ftLastWriteTime

Структура FILETIME. Для файла, структура устанавливает, когда последний раз была запись в файл, он обрезался или переписывался (например функциями WriteFile или SetEndOfFile). Эта дата и время не обновляются тогда, когда атрибуты файла или дескрипторы безопасности изменяются. Для каталога, структура определяет, когда каталог создавался. Если лежащая в основе файловая система не поддерживает последнее время записи, этот член структуры равняется нулю.

nFileSizeHigh

Старшее  двойное слово (DWORD) значения размера файла, в байтах. Это значение равняется нулю, если размер файла не больше, чем определяет его MAXDWORD. Размер файла равен
(nFileSizeHigh * (MAXDWORD+1)) + nFileSizeLow

nFileSizeLow

Младшее двойное слово (DWORD) значения размера файла, в байтах.

dwReserved0

Если член структуры dwFileAttributes включает атрибут FILE_ATTRIBUTE_REPARSE_POINT, этот член структуры устанавливает тэг монтирования. В противном случае, это значение не определяется и не должно использоваться.

dwReserved1

Зарезервированный для будущего использования.

cFileName

Символьная строка с нулем в конце, которая устанавливает имя файла.

cAlternateFileName

Символьная строка с нулем в конце, которая устанавливает альтернативное имя файла. Это имя является в классическом формате имени файла 8.3 (имя файла.расширение).

Замечания

Если файл имеет длинное имя, полное название появляется в поле cFileName, а обрезанная версия имени формата 8.3 появляется в поле cAlternateFileName. В противном случае, член структуры cAlternateFileName пустой. Как альтернативу, Вы можете использовать функцию GetShortPathName, чтобы найти версию имени файла формата 8.3.

Не все файловые системы могут фиксировать время создания и последнего доступа, и не все файловые системы фиксируют это одним и тем же способом. Например, в файловой системе FAT, время создания имеет дискретность 10 миллисекунд, время записи имеет дискретность 2 секунды, а время доступа имеет дискретность 1 день (фактическую дату доступа). В NTFS, время доступа имеет дискретность 1 час. Для получения дополнительной информации, см. Временные характеристики файла.

Смотри также

Обзор Управление файламиСтруктуры, используемые в управлении файлами, FILETIME, FindFirstFile, FindFirstFileEx, FindNextFile, FileTimeToLocalFileTime, FileTimeToSystemTime, GetShortPathName, GetFileAttributesEx

Размещение и совместимость WIN32_FIND_DATA
К Windows Vista Да
л Windows XP Да
и Windows 2000 Professional Да
е Windows NT Workstation Да версии 3.5 и выше
н Windows Me Да
т Windows 98 Да
  Windows 95 Да
 
С Windows Server 2008 Да
е Windows Server 2003 Да
р Windows 2000 Server Да
в Windows NT Server Да версии 3.5 и выше
е    
р    
Используемая библиотека -
Используемая DLL -
Заголовочный файл  
- объявлено в Winbase.h
- включено в Windows.h
Unicode Реализуется как версии Unicode и ANSI в среде Windows NT/2000/XP.
Замечания по платформе Не имеется

 

Назад в оглавление
На главную страницу
На оглавление справки

Hosted by uCoz