Поделиться через


структура FILE_ID_GLOBAL_TX_DIR_INFORMATION (ntifs.h)

Структура FILE_ID_GLOBAL_TX_DIR_INFORMATION содержит сведения о видимости транзакций для файлов в каталоге.

Синтаксис

typedef struct _FILE_ID_GLOBAL_TX_DIR_INFORMATION {
  ULONG         NextEntryOffset;
  ULONG         FileIndex;
  LARGE_INTEGER CreationTime;
  LARGE_INTEGER LastAccessTime;
  LARGE_INTEGER LastWriteTime;
  LARGE_INTEGER ChangeTime;
  LARGE_INTEGER EndOfFile;
  LARGE_INTEGER AllocationSize;
  ULONG         FileAttributes;
  ULONG         FileNameLength;
  LARGE_INTEGER FileId;
  GUID          LockingTransactionId;
  ULONG         TxInfoFlags;
  WCHAR         FileName[1];
} FILE_ID_GLOBAL_TX_DIR_INFORMATION, *PFILE_ID_GLOBAL_TX_DIR_INFORMATION;

Члены

NextEntryOffset

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

FileIndex

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

CreationTime

Время создания файла.

LastAccessTime

При последнем обращении к файлу.

LastWriteTime

Последняя запись сведений в файл.

ChangeTime

При последнем изменении файла.

EndOfFile

Абсолютное новое положение конца файла в виде смещения байтов от начала файла. EndOfFile указывает смещение к байту сразу после последнего допустимого байта в файле.

AllocationSize

Размер выделения файла в байтах. Значение этого поля является целым числом, кратным размером кластера.

FileAttributes

Атрибуты файла.

Флаг Значение
FILE_ATTRIBUTE_NORMAL Необходимо создать файл со стандартными атрибутами.
FILE_ATTRIBUTE_READONLY Необходимо создать файл, доступный только для чтения.
FILE_ATTRIBUTE_HIDDEN Необходимо создать скрытый файл.
FILE_ATTRIBUTE_SYSTEM Необходимо создать системный файл.
FILE_ATTRIBUTE_ARCHIVE Файл должен быть помечен таким образом, чтобы он был архивирован.
FILE_ATTRIBUTE_TEMPORARY Необходимо создать временный файл.

FileNameLength

Длина в байтах имени файла, содержащегося в элементе FileName.

FileId

Номер ссылки на файл. Файловая система создает это число и назначает его файлу. Для файловой системы, которые не поддерживают FileId, это поле имеет значение 0 и игнорируется.

LockingTransactionId

Значение GUID транзакции, которая содержит этот файл, заблокированный для изменения. Файловая система создает и назначает это значение.

TxInfoFlags

Битовая или более нулевая или более следующих значений.

Ценность Значение
FILE_ID_GLOBAL_TX_DIR_INFO_FLAG_WRITELOCKED 0x00000001 Файл заблокирован для изменения транзакцией. Идентификатор транзакции должен содержаться в элементе LockingTransactionId, если этот флаг задан.
FILE_ID_GLOBAL_TX_DIR_INFO_FLAG_VISIBLE_TO_TX 0x00000002 Файл отображается для трансактированных перечислителей каталога, идентификатор транзакции которого находится в элементе LockingTransactionId.
FILE_ID_GLOBAL_TX_DIR_INFO_FLAG_VISIBLE_OUTSIDE_TX 0x00000004 Файл отображается для трансактированных перечислителей каталога, отличного от идентификатора транзакции, который находится в элементе LockingTransactionId, и он отображается для нетрансактированных перечислителей каталога.
 

Если флаг FILE_ID_GLOBAL_TX_DIR_INFO_FLAG_WRITELOCKED не задан, другие флаги не должны быть заданы. Если заданы флаги, отличные от FILE_ID_GLOBAL_TX_DIR_INFO_FLAG_WRITELOCKED, необходимо задать флаг FILE_ID_GLOBAL_TX_DIR_INFO_FLAG_WRITELOCKED.

FileName[1]

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

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

Замечания

Структура FILE_ID_GLOBAL_TX_DIR_INFORMATION может быть реализована для файловой системы, возвращающей флаг FILE_SUPPORTS_TRANSACTIONS в ответ на запрос с помощью структуры FILE_FS_ATTRIBUTE_INFORMATION. Он не должен быть реализован для файловой системы, которые не возвращают этот флаг.

Если флаг FILE_ID_GLOBAL_TX_DIR_INFO_FLAG_WRITELOCKED не задан в TxInfoFlags, LockingTransactionId игнорируется.

Требования

Требование Ценность
минимальные поддерживаемые клиентские Windows 7
заголовка ntifs.h (include FltKernel.h, Ntifs.h)