Freigeben über


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 aufgerufen werden soll, wenn der Vorgang abgeschlossen ist.

Syntax

PFLT_COMPLETED_ASYNC_IO_CALLBACK PfltCompletedAsyncIoCallback;

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

Parameter

[in] CallbackData

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

Nichts

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 aufgerufen werden soll, wenn der E/A-Vorgang abgeschlossen ist. Dies erfolgt durch Angeben einer Routine vom Typ PFLT_COMPLETED_ASYNC_IO_CALLBACK für den CallbackRoutine Parameter.

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

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

  • Es kann keine Kernelmodusroutinen, die eine niedrigere IRQL erfordern, sicher aufrufen.
  • Alle in dieser Routine verwendeten Datenstrukturen müssen aus nicht seitengebundenen Pools zugeordnet werden.
  • Es kann nicht seitenfähig gemacht werden.
  • Ressourcen, Mutexes oder schnelle Mutexes können nicht abgerufen werden. Es kann jedoch Drehsperren erwerben.

Anforderungen

Anforderung Wert
Zielplattform- Desktop
Header- fltkernel.h (include Fltkernel.h)
IRQL- Siehe Abschnitt "Hinweise".

Siehe auch

FLT_CALLBACK_DATA

FltPerformAsynchronousIo

FltReadFile-

FltWriteFile-