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 Instanzzeiger auf die Minifiltertreiberinstanz, die den E/A-Vorgang initiiert.
[in] SectionContext
Ein Zeiger auf den Abschnittskontext, der einen Datenscanabschnittskonflikt verursacht hat.
[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.
Bemerkungen
Ein Minifilter registriert sich für Abschnittskonfliktbenachrichtigungen, indem beim Registrieren eines Minifiltertreibers eine PFLT_SECTION_CONFLICT_NOTIFICATION_CALLBACK Routine auf das SectionNotificationCallback Mitglied der FLT_REGISTRATION-Struktur festgelegt wird.
Bestimmte Situationen können auftreten, in denen das Öffnen eines Abschnitts mit der aktuellen Datei-E/A nicht kompatibel ist. Insbesondere kann die Datei-E/A, die eine Cachelöschung auslöst, zu einer inkoheren Zwischenspeicherung führen, wenn die Cachelöschung aufgrund eines geöffneten Abschnitts verhindert wird. Ein Minifilter kann diese optionale Rückrufroutine für Benachrichtigungen dieser Ereignisse bereitstellen. Wenn eine Benachrichtigung empfangen wird, kann der Abschnitt geschlossen werden, damit der konfliktierende E/A-Vorgang fortgesetzt werden kann.
Anforderungen
Anforderung | Wert |
---|---|
mindestens unterstützte Client- | Die PFLT_CONTEXT_ALLOCATE_CALLBACK Rückrufroutine ist unter Windows 8 und höher verfügbar. |
Zielplattform- | Desktop |
Header- | fltkernel.h (include Fltkernel.h) |
IRQL- | PASSIVE_LEVEL |