PFLT_SECTION_CONFLICT_NOTIFICATION_CALLBACK Rückruffunktion (fltkernel.h)
Ein Minifiltertreiber kann optional eine Routine vom Typ PFLT_SECTION_CONFLICT_NOTIFICATION_CALLBACK als SectionNotificationCallback-Routine des Minifiltertreibers registrieren. Bestimmte Dateivorgänge sind mit Dateiabschnitten nicht kompatibel. Wenn ein Minifilter eine SectionNotificationCallback-Routine bereitstellt, wird der Rückruf aufgerufen, wenn Abschnittskonflikte auftreten.
Syntax
PFLT_SECTION_CONFLICT_NOTIFICATION_CALLBACK PfltSectionConflictNotificationCallback;
NTSTATUS PfltSectionConflictNotificationCallback(
[in] PFLT_INSTANCE Instance,
[in] PFLT_CONTEXT SectionContext,
[in] PFLT_CALLBACK_DATA Data
)
{...}
Parameter
[in] Instance
Ein undurchsichtiger instance Zeiger auf den Minifiltertreiber instance, der den E/A-Vorgang initiiert.
[in] SectionContext
Ein Zeiger auf den Abschnittskontext, bei dem ein Datenüberprüfungsabschnittskonflikt aufgetreten ist.
[in] Data
Ein Zeiger auf eine vom Aufrufer zugewiesene Struktur, die die Rückrufdaten enthält.
Rückgabewert
Diese Rückrufroutine gibt STATUS_SUCCESS zurück.
Hinweise
Ein Minifilter registriert sich für Abschnittskonfliktbenachrichtigungen, indem beim Registrieren eines Minifiltertreibers eine PFLT_SECTION_CONFLICT_NOTIFICATION_CALLBACK Routine auf das SectionNotificationCallback-Element der FLT_REGISTRATION-Struktur festgelegt wird.
In bestimmten Situationen kann es vorkommen, dass das Öffnen eines Abschnitts mit der aktuellen Datei-E/A nicht kompatibel ist. Insbesondere datei-E/A, die eine Cachelöschung auslöst, können Cacheinkohärenz verursachen, wenn die Cachelöschung aufgrund eines geöffneten Abschnitts verhindert wird. Ein Minifilter kann diese optionale Rückrufroutine für Benachrichtigungen zu diesen Ereignissen bereitstellen. Wenn eine Benachrichtigung empfangen wird, kann der Abschnitt geschlossen werden, damit der konfliktierende E/A-Vorgang fortgesetzt werden kann.
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Die PFLT_CONTEXT_ALLOCATE_CALLBACK Rückrufroutine ist auf Windows 8 und höher verfügbar. |
Zielplattform | Desktop |
Kopfzeile | fltkernel.h (include Fltkernel.h) |
IRQL | PASSIVE_LEVEL |