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

以下值的按位 OR 或更多值。

价值 意义
FILE_ID_GLOBAL_TX_DIR_INFO_FLAG_WRITELOCKED 0x00000001 文件被锁定以供事务修改。 如果设置了此标志,则事务的 ID 必须包含在 LockingTransactionId 成员中。
FILE_ID_GLOBAL_TX_DIR_INFO_FLAG_VISIBLE_TO_TX 0x00000002 事务 ID 位于 LockingTransactionId 成员中的目录的事务处理枚举器可见。
FILE_ID_GLOBAL_TX_DIR_INFO_FLAG_VISIBLE_OUTSIDE_TX 0x00000004 该文件对目录的事务处理枚举器可见,该目录的事务 ID 位于 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]

包含文件名的 Unicode 字符序列。

注释 使用 FileNameLength 来确定文件名的长度,而不是假设存在尾随 null 分隔符。
 

言论

对于使用 FILE_FS_ATTRIBUTE_INFORMATION 结构响应查询的文件系统,可以实现 FILE_SUPPORTS_TRANSACTIONS FILE_ID_GLOBAL_TX_DIR_INFORMATION 结构。 对于不返回该标志的文件系统,它不得实现。

如果未在 TxInfoFlags 设置FILE_ID_GLOBAL_TX_DIR_INFO_FLAG_WRITELOCKED标志,则忽略 LockingTransactionId

要求

要求 价值
最低支持的客户端 Windows 7
标头 ntifs.h (包括 FltKernel.h、Ntifs.h)