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 字符序列。
言论
对于使用 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) |