[pso] [tema2][windows] DRIVER_IRQL_NOT_LESS_OR_EQUAL (d1)
Alexandru Juncu
alexandrujuncu at gmail.com
Thu Apr 29 12:46:26 EEST 2010
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?
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
More information about the pso
mailing list