次の方法で共有


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

こちらもご覧ください

DIRECTORY_NOTIFY_INFORMATION_CLASS

IRP_MJ_DIRECTORY_CONTROL

ZwNotifyChangeDirectoryFileEx