Dans un Thread en IRQL 0 la routine d'achèvement, déclenchée par un IRP, pour un appel WskSendTo est parfois en IRQL 2 et parfois en IRQL 0. Cela me semble vraiment étrange . Est-ce que quelqu'un sait si c'est un comportement normal?Achèvement Routine de l'IRP parfois en IRQL 2 parfois IRQL 0
1
A
Répondre
2
Ceci est un comportement normal. Achèvement Les routines peuvent être appelées directement dans l'appel à la routine ou dans tout autre contexte. Voir la MSDN pour une description des routines IoCompletion.
@Christopher: Je vous dois une bière. En raison de ce comportement, chaque contexte doit être alloué dans la mémoire non paginée. Et comme IoAllocateMdl n'a aucun drapeau pour réaliser ceci, il faut ensuite appeler MmBuildMdlForNonPagedPool. –