структура 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

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

Flag Значение
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 (включая FltKernel.h, Ntifs.h)