[pso] [tema2][win] DPC-uri, IRP-uri, evenimente

Corneliu Paul Lupulet corneliu.lupulet at gmail.com
Tue Apr 21 22:45:48 EEST 2009


>
> Salutare!
>
>

> Ai nevoie de un DPC pentru ca nu poti rula KeSetEvent direct din
> intrerupere[1] ("the caller can be running at IRQL <= DISPATCH_LEVEL).
> Planifici practic DPC-ul doar pentru a rula KeSetEvent si sa trezesti
> procesul ce asteapta in rutina de rea/write.
>

Am citit si eu acelasi lucru pe msdn si anume:  "If *Wait* is set to FALSE,
the caller can be running at IRQL <= DISPATCH_LEVEL" dar tin sa te
contrazic.

Dar eu apelez KeSetEvent() din rutina de tratare a intreruperii si merge
(nu-mi da BSOD si trece toate testele). Am uploadat tema pe site.

Dar nu inteleg care este fenomenul? Ma gandesc ca desi intreruperea se
genereaza la un IRQL > DISPATCH_LEVEL, rutina mea de tratare este apelata de
kernel la IRQL = DISPATCH_LEVEL.

Am zis sa intreb pentru a stii daca se va depuncta faptul ca nu am folosit
DPC si sa aflu si care este explicatia fenomenului.

Cornel



> Razvan
>
> [1] http://www.osronline.com/DDKx/kmarch/k105_1prm.htm
>
> _______________________________________________
> pso mailing list
> pso at cursuri.cs.pub.ro
> http://cursuri.cs.pub.ro/cgi-bin/mailman/listinfo/pso
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://cursuri.cs.pub.ro/pipermail/pso/attachments/20090421/610783ab/attachment.htm>


More information about the pso mailing list