首页
社区
课程
招聘
[旧帖] 一个函数里提升IRQL的话 这个函数可以在可分页内存中吗 0.00雪花
发表于: 2012-1-19 19:50 1063

[旧帖] 一个函数里提升IRQL的话 这个函数可以在可分页内存中吗 0.00雪花

2012-1-19 19:50
1063
#pragma code_seg("PAGE")
NTSTATUS MyWdmRead(PDEVICE_OBJECT DeviceObject,PIRP Irp)
{  
	KdPrint(("enter MyWdmRead"));

	PMY_DEVICE_EXTENSION pDevExt =(PMY_DEVICE_EXTENSION)DeviceObject->DeviceExtension;
	IoMarkIrpPending(Irp); //要求IocompleteRequest通过事件或apc完成IRP

	IoSetCancelRoutine(Irp,OnCancelIrpRead);
	KIRQL oldirql;
	KeRaiseIrql(DISPATCH_LEVEL,&oldirql);
	if(! KeInsertDeviceQueue(&pDevExt->ReadIrpQueue,&Irp->Tail.Overlay.DeviceQueueEntry))
	{
		MyStartIoRead(DeviceObject,Irp);
	}
	KeLowerIrql(oldirql);

	KdPrint(("leave MyWdmRead "));
	return STATUS_PENDING;
}


比如这个分发函数中间有一小段提升了IRQL 到DISPATCH

那么可以在这个分发函数前面加 pragma code_seg("PAGE") 吗

[培训]《安卓高级研修班(网课)》月薪三万计划,掌握调试、分析还原ollvm、vmp的方法,定制art虚拟机自动化脱壳的方法

收藏
免费 0
支持
分享
最新回复 (1)
雪    币: 350
活跃值: (87)
能力值: ( LV7,RANK:110 )
在线值:
发帖
回帖
粉丝
2
不可以,DPC级别是不可以运行在分页内存的,也不可以读取分页内存中的数据的
2012-1-21 15:24
0
游客
登录 | 注册 方可回帖
返回
//