Freigeben über


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

Siehe auch

FLT_CALLBACK_DATA

FLT_REGISTRATION

FltCreateSectionForDataScan-

FltRegisterFilter-