[pso] [tema2][windows] DRIVER_IRQL_NOT_LESS_OR_EQUAL (d1)

Andrei Voinescu voinescu.andrei at gmail.com
Thu Apr 29 13:20:59 EEST 2010


On Thu, Apr 29, 2010 at 12:46 PM, Alexandru Juncu
<alexandrujuncu at gmail.com> wrote:
> On Thu, Apr 29, 2010 at 11:32 AM, Andrei Voinescu
> <voinescu.andrei at gmail.com> wrote:
>> On Thu, Apr 29, 2010 at 9:30 AM, Alexandru Juncu
>> <alexandrujuncu at gmail.com> wrote:
>>> Am si eu acceaasi problema de ceva zile... codul meu arata cam asa:
>>>
>>> struct _MY_DEVICE_DATA {
>>> ...
>>>        KEVENT event;
>>>        KDPC dpc;
>>> } my_device_data;
>>>
>>> VOID myDpcRoutine(KDPC* dpc, PVOID context, PVOID arg1, PVOID arg2)
>>> {
>>>
>>>        my_device_data *my_dev = (my_device_data*) context;
>>>        DbgPrint("DPC Routine\n");
>>>        KeSetEvent(&my_dev->event, IO_NO_INCREMENT, TRUE);
>> Citiți cu atenție documentația KeSetEvent [0]
> Deja am citit-o de vreo 5 ori... Dacă te referi la parametrul wait, zice
> "Specifies whether the call to KeSetEvent is to be followed
> immediately by a call to one of the KeWaitXxx routines. "
> Deci ar trebui true, nu?
Cum să fie true? Unde ai tu operația de KeWait?
btw, scrie că dacă parametrul e TRUE, trebuie KeSetEvent să ruleze la
PASSIVE_LEVEL, so ... ai garantat cel puțin un BSOD de la asta.
>
> Oricum, am încercat și cu FALSE și nu a mers :(
>>
>> Andrei
>>
>> [0] http://www.osronline.com/ddkx/kmarch/k105_1prm.htm
>>> }
>>> BOOLEAN MyInterruptHandler(PKINTERRUPT interruptObj, PVOID serviceContext)
>>> {
>>>        my_device_data *my_dev = (my_device_data*) serviceContext;
>>>        ....
>>>        KeInsertQueueDpc(&my_dev->dpc, NULL, NULL);
>>>        ....
>>> }
>>> NTSTATUS DriverEntry()
>>> {
>>>    ....
>>>    KeInitializeEvent(&com1_data->event, NotificationEvent , FALSE);
>>>    KeInitializeDpc(&com1_data->dpc, myDpcRoutine, &com1_data);
>>> }
>>> _______________________________________________
>>> http://elf.cs.pub.ro/so2/wiki/resurse/lista-discutii
>>>
>> _______________________________________________
>> http://elf.cs.pub.ro/so2/wiki/resurse/lista-discutii
>
>
>
> --
> Alexandru Juncu
>
> Cisco Networking Academy Instructor
> ROSEdu Member
> Computer Science Teaching Assistant
> _______________________________________________
> http://elf.cs.pub.ro/so2/wiki/resurse/lista-discutii


More information about the pso mailing list