Структура BY_HANDLE_FILE_INFORMATION


Структура BY_HANDLE_FILE_INFORMATION содержит информацию, извлеченную функцией GetFileInformationByHandle.

Синтаксис

typedef struct _BY_HANDLE_FILE_INFORMATION {
  DWORD    dwFileAttributes; 
  FILETIME ftCreationTime; 
  FILETIME ftLastAccessTime; 
  FILETIME ftLastWriteTime; 
  DWORD    dwVolumeSerialNumber; 
  DWORD    nFileSizeHigh; 
  DWORD    nFileSizeLow; 
  DWORD    nNumberOfLinks; 
  DWORD    nFileIndexHigh; 
  DWORD    nFileIndexLow; 
} BY_HANDLE_FILE_INFORMATION, *PBY_HANDLE_FILE_INFORMATION; 

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

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. Для файла, структура устанавливает, когда последний раз читали из или писали в него. Для каталога, структура определяет, когда создавался каталог. И для файлов и для каталогов, указанная дата будет исправлена, но время дня будет всегда устанавливаться от полуночи. Если лежащая в основе файловая система не поддерживает время последнего обращения к файлу, этот член структуры равняется нулю.

ftLastWriteTime

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

dwVolumeSerialNumber

Порядковый номер тома, который содержит файл.

nFileSizeHigh

Старшая часть размера файла.

nFileSizeLow

Младшая часть размера файла.

nNumberOfLinks

Число связей с этим файлом. Для файловой системы FAT этот член структуры всегда - 1. Для NTFS, это может быть больше чем 1.

nFileIndexHigh

Старшая часть уникального идентификатора связи с файлом. Дополнительную информацию, см. в nFileIndexLow.

nFileIndexLow

Младшая часть уникального идентификатора связи с файлом.

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

Этот идентификатор (старшая и младшая части) и порядковый номер тома уникально идентифицируют файл на одиночном компьютере. Чтобы выяснить представляют ли два открытых дескриптора один и тот же файл, объедините этот идентификатор и порядковый номер тома для каждого файла и сравните их.

Замечания

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

Смотри также 

Обзор Управление файламиСтруктуры, используемые в управлении файлами, FILETIME, GetFileInformationByHandle

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

 

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

Hosted by uCoz