FsRtlNotifyFullReportChange-Funktion (ntifs.h)
Die FsRtlNotifyFullReportChange-Routine schließt ausstehende Benachrichtigungsänderungs-IRPs ab.
Syntax
void FsRtlNotifyFullReportChange(
[in] PNOTIFY_SYNC NotifySync,
[in] PLIST_ENTRY NotifyList,
[in] PSTRING FullTargetName,
[in] USHORT TargetNameOffset,
[in, optional] PSTRING StreamName,
[in, optional] PSTRING NormalizedParentName,
[in] ULONG FilterMatch,
[in] ULONG Action,
[in, optional] PVOID TargetContext
);
Parameter
[in] NotifySync
Ein Zeiger auf ein undurchsichtiges Synchronisierungsobjekt für das aktuelle Volume.
[in] NotifyList
Ein Zeiger auf den Kopf einer Benachrichtigungsliste. Jedes Element in der Liste ist eine undurchsichtige Benachrichtigungsstruktur.
[in] FullTargetName
Ein Zeiger auf eine ANSI- oder Unicode-Zeichenfolge, die den vollständigen Pfadnamen der Datei enthält.
[in] TargetNameOffset
Offset innerhalb der FullTargetName-Zeichenfolge der letzten Komponente des Namens.
[in, optional] StreamName
Optionaler Zeiger auf eine ANSI- oder Unicode-Zeichenfolge, die einen Streamnamen enthält, der mit dem Dateinamen gespeichert werden soll.
[in, optional] NormalizedParentName
Optionaler Zeiger auf eine ANSI- oder Unicode-Zeichenfolge, die denselben Pfad wie in der FullTargetName-Zeichenfolge enthält, aber alle Kurznamen durch die entsprechenden langen Namen ersetzt werden.
[in] FilterMatch
Eine Bitmaske von Flags, die mit dem Vervollständigungsfilter in der Benachrichtigungsstruktur verglichen werden sollen. Wenn eines der entsprechenden Bits im Vervollständigungsfilter festgelegt ist, ist eine Benachrichtigungsbedingung vorhanden. Mögliche Flagwerte finden Sie im CompletionFilter-Parameter von FsRtlNotifyFullChangeDirectory.
[in] Action
Gibt den Aktionscode an, der im Puffer des Benutzers gespeichert werden soll, falls vorhanden. Der Aktionscode kann einer der im Folgenden beschriebenen Werte sein.
Aktionscode | Bedeutung |
---|---|
FILE_ACTION_ADDED | Eine neue Datei oder ein neues Unterverzeichnis wurde erstellt. |
FILE_ACTION_REMOVED | Eine Datei oder ein Unterverzeichnis wurde gelöscht. |
FILE_ACTION_MODIFIED | Eine Datei oder ein Unterverzeichnis wurde geändert (aber nicht erstellt oder gelöscht). |
FILE_ACTION_RENAMED_OLD_NAME | Dies ist der alte Name einer Datei, die umbenannt wurde. |
FILE_ACTION_RENAMED_NEW_NAME | Dies ist der neue Name einer Datei, die umbenannt wurde. |
FILE_ACTION_ADDED_STREAM | Ein neuer Stream wurde geöffnet. |
FILE_ACTION_REMOVED_STREAM | Ein Stream wurde geschlossen. |
FILE_ACTION_MODIFIED_STREAM | Ein Stream wurde geändert (aber nicht geöffnet oder geschlossen). |
FILE_ACTION_REMOVED_BY_DELETE | Eine Objekt-ID wurde durch einen Dateilöschvorgang aus dem Index entfernt. |
FILE_ACTION_ID_NOT_TUNNELLED | Eine Objekt-ID für eine Datei konnte nicht getunnelt werden, da ihre Objekt-ID mit der ID einer bereits vorhandenen Datei übereinstimmte. |
FILE_ACTION_TUNNELLED_ID_COLLISION | Eine Objekt-ID für eine Datei konnte nicht getunnelt werden, da die Datei bereits über eine Objekt-ID verfügt. |
[in, optional] TargetContext
Kontextzeiger, der an das Dateisystem übergeben werden soll, wenn eine Durchlaufüberprüfung durchgeführt wird, falls eine Struktur überwacht wird. Weitere Informationen finden Sie im TraverseCallback-Parameter von FsRtlNotifyFullChangeDirectory.
Rückgabewert
Keine
Bemerkungen
FsRtlNotifyFullReportChange wird von einem Dateisystem aufgerufen, wenn eine Datei so geändert wird, dass irPs für ausstehende Benachrichtigungsänderungen abgeschlossen werden können.
FsRtlNotifyFullReportChange sucht in der Benachrichtigungsliste nach einer Benachrichtigungsstruktur, die dem angegebenen Filter und Pfadnamen entspricht. Wenn eine Übereinstimmung gefunden wird, schließt FsRtlNotifyFullReportChange alle ausstehenden IRPs für die Benachrichtigungsstruktur ab.
Anforderungen
Anforderung | Wert |
---|---|
Zielplattform | Universell |
Header | ntifs.h (include Ntifs.h) |
Bibliothek | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | PASSIVE_LEVEL |
DDI-Complianceregeln | HwStorPortProhibitedDIs(storport), PowerIrpDDis(wdm) |