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