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