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 檔案已鎖定以供交易修改。 如果設定此旗標,交易的標識碼必須包含在 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]

包含檔名的 Unicode 字元序列。

注意 使用 FileNameLength 來判斷檔名的長度,而不是假設有尾端 Null 分隔符。
 

備註

您可以針對文件系統實作 FILE_ID_GLOBAL_TX_DIR_INFORMATION 結構,這些文件系統會傳回FILE_SUPPORTS_TRANSACTIONS旗標,以回應使用 FILE_FS_ATTRIBUTE_INFORMATION 結構來響應查詢。 它不得針對未傳回該旗標的文件系統實作。

如果未在 TxInfoFlags 中設定FILE_ID_GLOBAL_TX_DIR_INFO_FLAG_WRITELOCKED旗標, 則會忽略 LockingTransactionId

規格需求

需求
最低支援的用戶端 Windows 7
標頭 ntifs.h (包含 FltKernel.h、Ntifs.h)