FILE_NOTIFY_FULL_INFORMATION結構 (ntifs.h)
當 DIRECTORY_NOTIFY_INFORMATION_CLASS 為 DirectoryNotifyFullInformation 時,會傳回具有IRP_MN_NOTIFY_CHANGE_DIRECTORY次要函式程式碼的IRP_MJ_DIRECTORY_CONTROL要求FILE_NOTIFY_FULL_INFORMATION結構。
語法
typedef struct _FILE_NOTIFY_FULL_INFORMATION {
ULONG NextEntryOffset;
ULONG Action;
LARGE_INTEGER CreationTime;
LARGE_INTEGER LastModificationTime;
LARGE_INTEGER LastChangeTime;
LARGE_INTEGER LastAccessTime;
LARGE_INTEGER AllocatedLength;
LARGE_INTEGER FileSize;
ULONG FileAttributes;
union {
ULONG ReparsePointTag;
ULONG EaSize;
} DUMMYUNIONNAME;
LARGE_INTEGER FileId;
LARGE_INTEGER ParentFileId;
USHORT FileNameLength;
UCHAR FileNameFlags;
UCHAR Reserved;
WCHAR FileName[1];
} FILE_NOTIFY_FULL_INFORMATION, *PFILE_NOTIFY_FULL_INFORMATION;
成員
NextEntryOffset
必須略過才能進入下一筆記錄的位元元組數目。 值為零表示這是最後一筆記錄。
Action
發生的變更類型。 這個成員可以是下列其中一個值。
值 | 意義 |
---|---|
FILE_ACTION_ADDED (0x00000001) | 檔案已新增至目錄。 |
FILE_ACTION_REMOVED (0x00000002) | 檔案已從目錄中移除。 |
FILE_ACTION_MODIFIED (0x00000003) | 目錄已修改。 這可以是時間戳或屬性的變更。 |
FILE_ACTION_RENAMED_OLD_NAME (0x00000004) | 目錄已重新命名,這是舊名稱。 |
FILE_ACTION_RENAMED_NEW_NAME (0x00000005) | 目錄已重新命名,這是新的名稱。 |
CreationTime
建立目錄或檔案並新增至文件系統的日期和時間。
LastModificationTime
上次在文件系統中修改目錄或檔案內容的日期和時間。
LastChangeTime
上次在文件系統中變更目錄或檔案之元數據或內容的日期和時間。
LastAccessTime
上次在文件系統中存取目錄或檔案的日期和時間。
AllocatedLength
檔案的配置大小,以位元組為單位。
FileSize
目錄或檔案的新大小,以位元組為單位,如果大小未變更,則為舊大小。
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
DUMMYUNIONNAME
DUMMYUNIONNAME.ReparsePointTag
目錄或檔案之重新分析點的標識碼標記。
DUMMYUNIONNAME.EaSize
檔案的擴充屬性長度 (EA) ,以位元組為單位。
FileId
目錄或檔案的標識碼。 這個數位是由文件系統產生並指派給檔案。
ParentFileId
檔案父目錄的標識碼。
FileNameLength
記錄檔名部分的大小,以位元組為單位。 這個值不包含終止的 Null 字元。
FileNameFlags
旗標,指定傳回的檔名類型,如果已知。 如果未設定下列任一旗標,則不知道檔名的類型。 如果設定下列兩個旗標,檔名會同時做為完整名稱和簡短名稱 (NTFS 名稱和 DOS 名稱) 長/簡短名稱組。
旗標 | 值 |
---|---|
FILE_NAME_NTFS (0x01) | 檔名是長/短名稱組 (NTFS 名稱) 的完整名稱。 |
FILE_NAME_DOS (0x02) | 檔名是長/短名稱組) (DOS 名稱的簡短名稱。 |
Reserved
保留供系統使用。
FileName[1]
可變長度欄位,包含相對於目錄句柄的檔名。 檔名是 Unicode 字元格式,不是以 Null 結尾。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows 11 版本 22H2 |
標頭 | ntifs.h |