ntifs.h) (FILE_ID_GLOBAL_TX_DIR_INFORMATION 结构

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_SUPPORTS_TRANSACTIONS 标志以响应使用 FILE_FS_ATTRIBUTE_INFORMATION 结构的查询的文件系统,可以实现 FILE_ID_GLOBAL_TX_DIR_INFORMATION 结构。 对于不返回该标志的文件系统,不得实现它。

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

要求

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