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

Alexandru Juncu alexandrujuncu at gmail.com
Thu Apr 29 16:43:57 EEST 2010


On Thu, Apr 29, 2010 at 1:20 PM, Andrei Voinescu
<voinescu.andrei at gmail.com> wrote:
> 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.

Ok..pus pe false..da tot albastră e situația...
>>
>> 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
> _______________________________________________
> http://elf.cs.pub.ro/so2/wiki/resurse/lista-discutii



-- 
Alexandru Juncu

Cisco Networking Academy Instructor
ROSEdu Member
Computer Science Teaching Assistant


More information about the pso mailing list