FILE_NOTIFY_INFORMATION-Struktur (ntifs.h)
FILE_NOTIFY_INFORMATION beschreibt die Änderungen an einem Verzeichnis. Es wird als Antwort auf eine IRP_MJ_DIRECTORY_CONTROL-Anforderung mit einem IRP_MN_NOTIFY_CHANGE_DIRECTORY Nebenfunktionscode 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;
Member
NextEntryOffset
Die Anzahl der Bytes, die übersprungen werden müssen, um zum nächsten Datensatz zu gelangen. Der Wert 0 gibt an, dass dies der letzte Datensatz ist.
Action
Der Typ der Änderung, die aufgetreten ist. Dieser Member 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 Stream hinzugefügt. |
FILE_ACTION_REMOVED_STREAM (0x00000007) | Ein benannter Stream wurde aus der Datei entfernt. |
FILE_ACTION_MODIFIED_STREAM (0x00000008) | Ein benannter Stream wurde geändert. Die Änderung kann eine Änderung der Daten oder Attribute 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) | Der 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) | Ein Versuch, Objekt-ID-Informationen in eine umbenannte Datei zu tunneln, ist fehlgeschlagen, 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 Bytes. Dieser Wert enthält nicht das beendende NULL-Zeichen.
FileName[1]
Ein Feld mit variabler Länge, das den Dateinamen relativ zum Verzeichnishandle enthält. Der Dateiname hat das Unicode-Zeichenformat und ist nicht null-beendet.
Wenn sowohl ein kurzer als auch ein langer Name für die Datei vorhanden ist, wird nur einer dieser Namen zurückgegeben, aber es ist nicht angegeben, welcher name.
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Windows 10 |
Kopfzeile | ntifs.h |