PFLT_COMPLETED_ASYNC_IO_CALLBACK fonction de rappel (fltkernel.h)
Un pilote minifilter qui lance une opération d’E/S asynchrone peut spécifier une routine de type PFLT_COMPLETED_ASYNC_IO_CALLBACK routine à appeler une fois l’opération terminée.
Syntaxe
PFLT_COMPLETED_ASYNC_IO_CALLBACK PfltCompletedAsyncIoCallback;
void PfltCompletedAsyncIoCallback(
[in] PFLT_CALLBACK_DATA CallbackData,
[in] PFLT_CONTEXT Context
)
{...}
Paramètres
[in] CallbackData
Pointeur vers la structure de données de rappel pour l’opération d’E/S.
[in] Context
Pointeur de contexte que le pilote minifilter a passé en tant que paramètre à FltPerformAsynchronousIo, FltReadFileou FltWriteFile.
Valeur de retour
Aucun
Remarques
Lorsqu’un pilote minifilter appelle FltPerformAsynchronousIo, FltReadFile ou FltWriteFile pour lancer une opération d’E/S asynchrone, le pilote minifilter peut éventuellement spécifier une routine de rappel à appeler lorsque l’opération d’E/S est terminée. Pour ce faire, spécifiez une routine de type PFLT_COMPLETED_ASYNC_IO_CALLBACK pour le paramètre CallbackRoutine.
Lorsque l’opération d’E/S est terminée, cette routine de rappel est appelée dans un contexte de thread arbitraire, à l'<IRQL = DISPATCH_LEVEL.
Étant donné que la routine PFLT_COMPLETED_ASYNC_IO_CALLBACK peut être appelée à l’DISPATCH_LEVEL IRQL, elle est soumise aux contraintes suivantes :
- Il ne peut pas appeler en toute sécurité des routines en mode noyau qui nécessitent un irQL inférieur.
- Toutes les structures de données utilisées dans cette routine doivent être allouées à partir d’un pool non paginé.
- Il ne peut pas être rendu paginable.
- Il ne peut pas acquérir des ressources, des mutex ou des mutex rapides. Toutefois, il peut acquérir des verrous de rotation.
Exigences
Exigence | Valeur |
---|---|
plateforme cible | Bureau |
d’en-tête | fltkernel.h (include Fltkernel.h) |
IRQL | Voir la section Remarques. |