Freigeben über


FILE_NOTIFY_INFORMATION Struktur (ntifs.h)

FILE_NOTIFY_INFORMATION beschreibt die Änderungen in einem Verzeichnis. Sie wird als Antwort auf eine IRP_MJ_DIRECTORY_CONTROL-Anforderung mit einem IRP_MN_NOTIFY_CHANGE_DIRECTORY Hilfsfunktionscode zurückgegeben, wenn DIRECTORY_NOTIFY_INFORMATION_CLASS DirectoryNotifyInformation ist.

Syntax

typedef struct _FILE_NOTIFY_INFORMATION {
  ULONG NextEntryOffset;
  ULONG Action;
  ULONG FileNameLength;
  WCHAR FileName[1];
} FILE_NOTIFY_INFORMATION, *PFILE_NOTIFY_INFORMATION;

Angehörige

NextEntryOffset

Die Anzahl der Bytes, die übersprungen werden müssen, um zum nächsten Datensatz zu gelangen. Ein Wert von Null gibt an, dass dies der letzte Datensatz ist.

Action

Der Typ der Änderung, die aufgetreten ist. Dieses Element kann einer der folgenden Werte sein:

Wert Bedeutung
FILE_ACTION_ADDED (0x00000001) Die Datei wurde dem Verzeichnis hinzugefügt.
FILE_ACTION_REMOVED (0x00000002) Die Datei wurde aus dem Verzeichnis entfernt.
FILE_ACTION_MODIFIED (0x00000003) Die Datei wurde geändert. Dies kann eine Änderung des Zeitstempels oder der Attribute sein.
FILE_ACTION_RENAMED_OLD_NAME (0x00000004) Die Datei wurde umbenannt, und dies ist der alte Name.
FILE_ACTION_RENAMED_NEW_NAME (0x00000005) Die Datei wurde umbenannt, und dies ist der neue Name.
FILE_ACTION_ADDED_STREAM (0x00000006) Der Datei wurde ein benannter Datenstrom hinzugefügt.
FILE_ACTION_REMOVED_STREAM (0x00000007) Ein benannter Datenstrom wurde aus der Datei entfernt.
FILE_ACTION_MODIFIED_STREAM (0x00000008) Ein benannter Datenstrom wurde geändert. Die Änderung kann eine Änderung an den Daten oder Attributen des benannten Datenstroms sein.
FILE_ACTION_REMOVED_BY_DELETE (0x00000009) Eine Objekt-ID wurde entfernt, da die Datei, auf die die Objekt-ID verwiesen wurde, gelöscht wurde. Diese Benachrichtigung wird nur gesendet, wenn das überwachte Verzeichnis das spezielle Verzeichnis "$Extend$ObjId:$O:$INDEX_ALLOCATION" ist.
FILE_ACTION_ID_NOT_TUNNELLED (0x0000000A) Ein Versuch, Objekt-ID-Informationen in eine datei zu tunneln, die erstellt oder umbenannt wird, ist fehlgeschlagen, da die Objekt-ID von einer anderen Datei auf demselben Volume verwendet wird. Diese Benachrichtigung wird nur gesendet, wenn das überwachte Verzeichnis das spezielle Verzeichnis "$Extend$ObjId:$O:$INDEX_ALLOCATION" ist.
FILE_ACTION_TUNNELLED_ID_COLLISION (0x0000000B) Fehler beim Versuch, Objekt-ID-Informationen in eine umbenannte Datei zu tunneln, da die Datei bereits über eine Objekt-ID verfügt. Diese Benachrichtigung wird nur gesendet, wenn das überwachte Verzeichnis das spezielle Verzeichnis "$Extend$ObjId:$O:$INDEX_ALLOCATION" ist.

FileNameLength

Die Größe des Dateinamenteils des Datensatzes in Byte. Dieser Wert enthält nicht das endende Nullzeichen.

FileName[1]

Ein Feld mit variabler Länge, das den Dateinamen relativ zum Verzeichnishandle enthält. Der Dateiname befindet sich im Unicode-Zeichenformat und ist nicht null beendet.

Wenn für die Datei sowohl ein kurzer als auch ein langer Name vorhanden ist, wird nur einer dieser Namen zurückgegeben, aber es ist nicht angegeben, welche.

Anforderungen

Anforderung Wert
mindestens unterstützte Client- Windows 10
Header- ntifs.h

Siehe auch

DIRECTORY_NOTIFY_INFORMATION_CLASS

IRP_MJ_DIRECTORY_CONTROL

ZwNotifyChangeDirectoryFileEx