共用方式為


FILE_ID_64_EXTD_BOTH_DIR_INFORMATION 結構 (ntifs.h)

FILE_ID_64_EXTD_BOTH_DIR_INFORMATION 結構可用來查詢目錄中檔案的 64 位檔案參考編號資訊。

語法

typedef struct _FILE_ID_64_EXTD_BOTH_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;
  ULONG         EaSize;
  ULONG         ReparsePointTag;
  LARGE_INTEGER FileId;
  CCHAR         ShortNameLength;
  WCHAR         ShortName[12];
  WCHAR         FileName[1];
} FILE_ID_64_EXTD_BOTH_DIR_INFORMATION, *PFILE_ID_64_EXTD_BOTH_DIR_INFORMATION;

成員

NextEntryOffset

如果緩衝區中有多個專案,則下一個 FILE_ID_64_EXTD_BOTH_DIR_INFORMATION 專案的位元組位移。 如果沒有其他專案遵循此成員,則此成員為零。

FileIndex

父目錄中檔案的位元組位移。 這個成員未定義給文件系統,例如NTFS,其中父目錄內的檔案位置不是固定的,而且可以隨時變更以維護排序順序。

CreationTime

建立檔案的時間。

LastAccessTime

上次存取檔案的時間。

LastWriteTime

上次將資訊寫入檔案。

ChangeTime

上次變更檔案的時間。

EndOfFile

絕對新的檔案結尾位置,做為檔案開頭的位元組位移。 EndOfFile 會指定檔案結尾的位元組位移。 因為這個值是以零起始,所以實際上會參考檔案中的第一個可用位元組。 換句話說, EndOfFile 是位移緊接在檔案中最後一個有效位元組之後的位元組。

AllocationSize

檔案配置大小,以位元組為單位。 此值通常是基礎實體裝置的扇區或叢集大小的倍數。

FileAttributes

檔案屬性,可以是下列任何有效組合:

  • FILE_ATTRIBUTE_READONLY
  • FILE_ATTRIBUTE_HIDDEN
  • FILE_ATTRIBUTE_SYSTEM
  • FILE_ATTRIBUTE_DIRECTORY
  • FILE_ATTRIBUTE_ARCHIVE
  • FILE_ATTRIBUTE_NORMAL
  • FILE_ATTRIBUTE_TEMPORARY
  • FILE_ATTRIBUTE_COMPRESSED

FileNameLength

指定檔案名字串的長度。

EaSize

檔案 (EA) 擴充屬性的合併長度,以位元組為單位。

ReparsePointTag

重新分析點的標記值。

FileId

檔案的 64 位檔案參考編號。 這個數位是由文件系統產生並指派給檔案。

ShortNameLength

指定簡短檔名字串的長度。

ShortName[12]

Unicode 字串,其中包含檔案的簡短 (8.3) 名稱。

FileName[1]

指定檔案名稱串的第一個字元。 這會接著在記憶體中加上字串的其餘部分。

備註

您可以使用下列任一種方式來查詢此資訊:

  • 呼叫 ZwQueryDirectoryFile,傳遞 FileId64ExtdBothDirectoryInformation 做為 FileInformationClass 的值,並傳遞呼叫端配置、 FILE_ID_64_EXTD_BOTH_DIR_INFORMATION結構化緩衝區做為 FileInformation 的值。

  • 建立具有主要函式程式代碼的 IRP IRP_MJ_DIRECTORY_CONTROL 和次要函式程式碼IRP_MN_QUERY_DIRECTORY。

查詢這項資訊不需要特定訪問許可權。

檔案參考編號也稱為檔案標識符,保證只在靜態文件系統內是唯一的。 它們不保證在一段時間內是唯一的,因為文件系統可以自由重複使用它們。 它們也不保證會維持不變。 例如,FAT 檔案系統會從檔案目錄項目記錄的位元組位移產生檔案的檔案參考編號, (磁碟上的 DIRENT) 。 重組可以變更這個位元組位移。 因此,FAT 檔案參考編號可能會隨著時間而變更。

所有日期和時間都是絕對系統時間格式。 絕對系統時間是自 1601 年開始以來的 100 奈秒間隔數目。

此結構必須對齊 LONGLONG (8 位元組) 界限。 如果緩衝區包含兩個或多個這些結構,則每個專案中的 NextEntryOffset 值會落在 8 位元組界限上,但最後一個專案除外。

規格需求

需求
最低支援的用戶端 Windows 11 版本 23H2
標頭 ntifs.h

另請參閱

FILE_INFORMATION_CLASS

FsRtlNotifyFullChangeDirectory

IRP_MJ_DIRECTORY_CONTROL

ZwQueryDirectoryFile