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 endgültigen Komponente des Namens.
[in, optional] StreamName
Optionaler Zeiger auf eine ANSI- oder Unicode-Zeichenfolge, die einen Datenstromnamen enthält, der mit dem Dateinamen gespeichert werden soll.
[in, optional] NormalizedParentName
Optionaler Zeiger auf eine ANSI- oder Unicode-Zeichenfolge, die denselben Pfad enthält wie in der FullTargetName Zeichenfolge, jedoch mit allen Kurznamen, die 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 Abschlussfilter 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 folgenden Werte sein:
Aktionscode | Bedeutung |
---|---|
FILE_ACTION_ADDED | Es wurde eine neue Datei oder ein Unterverzeichnis 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 Datenstrom wurde geschlossen. |
FILE_ACTION_MODIFIED_STREAM | Ein Datenstrom wurde geändert (aber nicht geöffnet oder geschlossen). |
FILE_ACTION_REMOVED_BY_DELETE | Eine Objekt-ID wurde von einem Löschdateivorgang aus dem Index entfernt. |
FILE_ACTION_ID_NOT_TUNNELLED | Eine Objekt-ID für eine Datei konnte nicht getunnelt werden, da die 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 wird, wenn eine Traverseprüfung durchgeführt wird, wenn eine Struktur überwacht wird. Weitere Informationen finden Sie im TraverseCallback Parameter von FsRtlNotifyFullChangeDirectory.
Rückgabewert
Nichts
Bemerkungen
FsRtlNotifyFullReportChange wird von einem Dateisystem aufgerufen, wenn eine Datei geändert wird, sodass ausstehende Benachrichtigungsänderungs-IRPs 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- | Universal |
Header- | ntifs.h (einschließlich Ntifs.h) |
Library | NtosKrnl.lib |
DLL- | NtosKrnl.exe |
IRQL- | PASSIVE_LEVEL |
DDI-Complianceregeln | HwStorPortProhibitedDIs(storport), PowerIrpDDis(wdm) |