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 |
ヘッダー | ntifs.h |