次の方法で共有


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

関連項目

DIRECTORY_NOTIFY_INFORMATION_CLASS

IRP_MJ_DIRECTORY_CONTROL

ZwNotifyChangeDirectoryFileEx