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 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

Weitere Informationen

FLT_CALLBACK_DATA

FLT_REGISTRATION

FltCreateSectionForDataScan

FltRegisterFilter