FILE_ID_GLOBAL_TX_DIR_INFORMATION structure (ntifs.h)
The FILE_ID_GLOBAL_TX_DIR_INFORMATION structure contains information about transactional visibility for the files in a directory.
Syntax
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;
Members
NextEntryOffset
The byte offset from the beginning of this entry, at which the next FILE_ID_FULL_DIR_INFORMATION entry is located if multiple entries are present in a buffer. A value of zero indicates no other entries follow this one.
FileIndex
The byte offset of the file within the parent directory. For file systems in which the position of a file within the parent directory is not fixed and can be changed to maintain sort order, this field should be set to 0 and is ignored.
CreationTime
The time when the file was created.
LastAccessTime
The last time the file was accessed.
LastWriteTime
The last time information was written to the file.
ChangeTime
The last time the file was changed.
EndOfFile
The absolute new end-of-file position as a byte offset from the start of the file. EndOfFile specifies the offset to the byte immediately following the last valid byte in the file.
AllocationSize
The file allocation size in bytes. The value of this field is an integer multiple of the cluster size.
FileAttributes
The file attributes.
Flag | Meaning |
---|---|
FILE_ATTRIBUTE_NORMAL | A file that has standard attributes should be created. |
FILE_ATTRIBUTE_READONLY | A read-only file should be created. |
FILE_ATTRIBUTE_HIDDEN | A hidden file should be created. |
FILE_ATTRIBUTE_SYSTEM | A system file should be created. |
FILE_ATTRIBUTE_ARCHIVE | The file should be marked so that it will be archived. |
FILE_ATTRIBUTE_TEMPORARY | A temporary file should be created. |
FileNameLength
The length, in bytes, of the file name contained within the FileName member.
FileId
A file reference number for the file. The file system generates this number and assigns it to the file. For file systems that do not support FileId, this field is set to 0 and ignored.
LockingTransactionId
A GUID value of the transaction that has this file locked for modification. The file system generates and assigns this value.
TxInfoFlags
A bitwise OR of zero or more of the following values.
Value | Meaning |
---|---|
FILE_ID_GLOBAL_TX_DIR_INFO_FLAG_WRITELOCKED 0x00000001 | The file is locked for modification by a transaction. The transaction's ID must be contained in the LockingTransactionId member if this flag is set. |
FILE_ID_GLOBAL_TX_DIR_INFO_FLAG_VISIBLE_TO_TX 0x00000002 | The file is visible to transacted enumerators of the directory whose transaction ID is in the LockingTransactionId member. |
FILE_ID_GLOBAL_TX_DIR_INFO_FLAG_VISIBLE_OUTSIDE_TX 0x00000004 | The file is visible to transacted enumerators of the directory other than the one whose transaction ID is in the LockingTransactionId member, and it is visible to non-transacted enumerators of the directory. |
If the FILE_ID_GLOBAL_TX_DIR_INFO_FLAG_WRITELOCKED flag is not set, the other flags must not be set. If flags other than FILE_ID_GLOBAL_TX_DIR_INFO_FLAG_WRITELOCKED are set, the FILE_ID_GLOBAL_TX_DIR_INFO_FLAG_WRITELOCKED flag must be set.
FileName[1]
A sequence of Unicode characters containing the file name.
Remarks
The FILE_ID_GLOBAL_TX_DIR_INFORMATION structure can be implemented for file systems that return the FILE_SUPPORTS_TRANSACTIONS flag in response to a query using a FILE_FS_ATTRIBUTE_INFORMATION structure. It must not be implemented for file systems that do not return that flag.
If the FILE_ID_GLOBAL_TX_DIR_INFO_FLAG_WRITELOCKED flag is not set in TxInfoFlags, LockingTransactionId is ignored.
Requirements
Requirement | Value |
---|---|
Minimum supported client | Windows 7 |
Header | ntifs.h (include FltKernel.h, Ntifs.h) |