FILE_NOTIFY_FULL_INFORMATION構造体 (ntifs.h)
FILE_NOTIFY_FULL_INFORMATION 構造体は、DIRECTORY_NOTIFY_INFORMATION_CLASS が DirectoryNotifyFullInformation の場合、IRP_MN_NOTIFY_CHANGE_DIRECTORY マイナー関数コードを含む IRP_MJ_DIRECTORY_CONTROL 要求に応答して返されます。
構文
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
次のレコードに到達するためにスキップする必要があるバイト数。 値が 0 の場合は、これが最後のレコードであることを示します。
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 |