PFLT_COMPLETED_ASYNC_IO_CALLBACK Rückruffunktion (fltkernel.h)

Ein Minifiltertreiber, der einen asynchronen E/A-Vorgang initiiert, kann eine Routine vom Typ PFLT_COMPLETED_ASYNC_IO_CALLBACK Routine angeben, die nach Abschluss des Vorgangs aufgerufen werden soll.

Syntax

PFLT_COMPLETED_ASYNC_IO_CALLBACK PfltCompletedAsyncIoCallback;

void PfltCompletedAsyncIoCallback(
  [in] PFLT_CALLBACK_DATA CallbackData,
  [in] PFLT_CONTEXT Context
)
{...}

Parameter

[in] CallbackData

Zeiger auf die Rückrufdatenstruktur für den E/A-Vorgang.

[in] Context

Kontextzeiger, den der Minifiltertreiber als Parameter an FltPerformAsynchronousIo, FltReadFile oder FltWriteFile übergeben hat.

Rückgabewert

Keine

Bemerkungen

Wenn ein Minifiltertreiber FltPerformAsynchronousIo, FltReadFile oder FltWriteFile aufruft , um einen asynchronen E/A-Vorgang zu initiieren, kann der Minifiltertreiber optional eine Rückrufroutine angeben, die nach Abschluss des E/A-Vorgangs aufgerufen werden soll. Dazu wird eine Routine vom Typ PFLT_COMPLETED_ASYNC_IO_CALLBACK für den Parameter CallbackRoutine angegeben.

Wenn der E/A-Vorgang abgeschlossen ist, wird diese Rückrufroutine in einem beliebigen Threadkontext unter IRQL <= DISPATCH_LEVEL aufgerufen.

Da die PFLT_COMPLETED_ASYNC_IO_CALLBACK Routine bei IRQL DISPATCH_LEVEL aufgerufen werden kann, unterliegt sie den folgenden Einschränkungen:

  • Kernelmodusroutinen, die eine niedrigere IRQL erfordern, können nicht sicher aufgerufen werden.
  • Alle datenstrukturen, die in dieser Routine verwendet werden, müssen aus einem nicht ausgestellten Pool zugeordnet werden.
  • Es kann nicht ausgelagert werden.
  • Es können keine Ressourcen, Mutexes oder schnelle Mutexes abgerufen werden. Es kann jedoch Drehsperren erhalten.

Anforderungen

Anforderung Wert
Zielplattform Desktop
Kopfzeile fltkernel.h (include Fltkernel.h)
IRQL Weitere Informationen finden Sie im Abschnitt mit den Hinweisen.

Weitere Informationen

FLT_CALLBACK_DATA

FltPerformAsynchronio

FltReadFile

FltWriteFile