次の方法で共有


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

関連項目

DIRECTORY_NOTIFY_INFORMATION_CLASS

IRP_MJ_DIRECTORY_CONTROL

ZwNotifyChangeDirectoryFileEx