FILE_NOTIFY_EXTENDED_INFORMATION構造体 (ntifs.h)
FILE_NOTIFY_EXTENDED_INFORMATION は、DIRECTORY_NOTIFY_INFORMATION_CLASS が DirectoryNotifyExtendedInformation の場合に、IRP_MN_NOTIFY_CHANGE_DIRECTORY マイナー関数コードを使用して IRP_MJ_DIRECTORY_CONTROL 要求に応答するディレクトリ変更に関する情報を提供します。
構文
typedef struct _FILE_NOTIFY_EXTENDED_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;
ULONG FileNameLength;
WCHAR FileName[1];
} FILE_NOTIFY_EXTENDED_INFORMATION, *PFILE_NOTIFY_EXTENDED_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 文字は含まれません。
FileName[1]
ディレクトリ ハンドルに対する相対ファイル名を含む可変長フィールド。 ファイル名は Unicode 文字形式であり、null で終わるものではありません。
必要条件
要件 | 価値 |
---|---|
ヘッダー | ntifs.h |