向cdsn各位大侠求助,xp的驱动超时退出
定时器已经起作用了,超时进入了时间中断,系统驱动程序停在IRP_MJ_INTERNAL_DEVICE_CONTROL里面,
VOID TimerRoutine(
IN DEVICE_OBJECT *DeviceObject,
IN PVOID Context
)
{
PIRP Irp;
UCHAR func;
PDEVICE_EXTENSION pDevExt =(PDEVICE_EXTENSION)DeviceObject->DeviceExtension;
Irp=pDevExt->currentPendingIRP;
func=IoGetCurrentIrpStackLocation(Irp)->MajorFunction;
BulkUsb_DbgPrint(1, ("TIMEOUT 0x%x\n",func));//IRP_MJ_INTERNAL_DEVICE_CONTROL
Irp->IoStatus.Status = STATUS_CANCELLED;
Irp->IoStatus.Information = 0;
IoCompleteRequest (Irp,IO_NO_INCREMENT);
}
没有最后的complete这句程序就不停输出timeout 0xf,就是IRP_MJ_INTERNAL_DEVICE_CONTROL。
有最后这句就蓝屏了,各位帮帮忙,有什么建议吗?
程序源码就是winddk2600的src的bulkusb。编译器就是2600的build。
这是没咒没辙了。 xp winddk 超时处理
[解决办法]