FILE_NOTIFY_INFORMATION 構造体 (ntifs.h)
FILE_NOTIFY_INFORMATION ディレクトリに対する変更について説明します。 これは、DIRECTORY_NOTIFY_INFORMATION_CLASSが DirectoryNotifyInformation の場合、IRP_MN_NOTIFY_CHANGE_DIRECTORYマイナー関数コードを含むIRP_MJ_DIRECTORY_CONTROL要求に応答して返されます。
構文
typedef struct _FILE_NOTIFY_INFORMATION {
ULONG NextEntryOffset;
ULONG Action;
ULONG FileNameLength;
WCHAR FileName[1];
} FILE_NOTIFY_INFORMATION, *PFILE_NOTIFY_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) | ファイルの名前が変更され、これが新しい名前です。 |
FILE_ACTION_ADDED_STREAM (0x00000006) | 名前付きストリームがファイルに追加されました。 |
FILE_ACTION_REMOVED_STREAM (0x00000007) | 名前付きストリームがファイルから削除されました。 |
FILE_ACTION_MODIFIED_STREAM (0x00000008) | 名前付きストリームが変更されました。 変更には、名前付きストリームのデータまたは属性を変更できます。 |
FILE_ACTION_REMOVED_BY_DELETE (0x00000009) | オブジェクト ID が参照されているファイルが削除されたため、オブジェクト ID が削除されました。 この通知は、監視対象のディレクトリが特殊なディレクトリ "$Extend$ObjId:$O:$INDEX_ALLOCATION" である場合にのみ送信されます。 |
FILE_ACTION_ID_NOT_TUNNELLED (0x0000000A) | オブジェクト ID が同じボリューム上の別のファイルで使用されているため、作成または名前変更されているファイルにオブジェクト ID 情報をトンネリングできませんでした。 この通知は、監視対象のディレクトリが特殊なディレクトリ "$Extend$ObjId:$O:$INDEX_ALLOCATION" である場合にのみ送信されます。 |
FILE_ACTION_TUNNELLED_ID_COLLISION (0x0000000B) | ファイルに既にオブジェクト ID があるため、名前を変更するファイルにオブジェクト ID 情報をトンネリングできませんでした。 この通知は、監視対象のディレクトリが特殊なディレクトリ "$Extend$ObjId:$O:$INDEX_ALLOCATION" である場合にのみ送信されます。 |
FileNameLength
レコードのファイル名部分のサイズ (バイト単位)。 この値には、終端の null 文字は含まれません。
FileName[1]
ディレクトリ ハンドルに対する相対ファイル名を含む可変長フィールド。 ファイル名は Unicode 文字形式であり、null で終わるものではありません。
ファイルに短い名前と長い名前の両方がある場合、これらの名前の 1 つだけが返されますが、どちらが指定されていないかは指定されません。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows 10 |
Header | ntifs.h |