首页
社区
课程
招聘
蓝屏求解
发表于: 2011-8-25 12:53 3742

蓝屏求解

2011-8-25 12:53
3742
irp = IoBuildSynchronousFsdRequest( IRP_MJ_PNP,

DeviceObject,

NULL,

0,

NULL,

&event,

&ioStatusBlock );

irpStack = IoGetNextIrpStackLocation( irp );

irpStack->MinorFunction = IRP_MN_QUERY_ID;

irpStack->Parameters.QueryId.IdType=BusQueryInstanceID;

irp->IoStatus.Status = STATUS_NOT_SUPPORTED ;

status = IoCallDriver( DeviceObject, irp );

if (status == STATUS_PENDING)

{

KeWaitForSingleObject( &event, Executive, KernelMode, FALSE, NULL );

status = ioStatusBlock.Status;

}

if(NT_SUCCESS(irp->IoStatus.Status))

{

}

我处理驱动的代码:
if(NT_SUCCESS(irp->IoStatus.Status))
这句执行时蓝了,各位大侠帮忙看下,是因为驱动程序将IRP 传递个下一个驱动之后,就不再拥有这个IRP,并且不能试图再去访问这
个它。这个原因导致的吗

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 0
支持
分享
最新回复 (0)
游客
登录 | 注册 方可回帖
返回