Здравствуйте, Аноним, Вы писали:
I_>>Пожалуйста помогите, уже неделю не могу осилить!
I_>>
I_>> // Call the device to do the read and wait for it to finish.
I_>> Status = IOSyncRequest(DeviceObject, Irp);
I_>> IoFreeIrp(Irp);
I_>>
А>Нельзя так делать. Нужно установить Completion Routine и в ней освобождать IRP.
Можете более подробно и аргументированно? (что бы я понял свою ошибку)
В моём случае IoFreeIrp вызывается после отработки Completion Routine, потому что вызывающий поток ждёт на KEVENT сигнала, а сигнал посылается из Completion Routine.