-
-
[旧帖]
一个函数里提升IRQL的话 这个函数可以在可分页内存中吗
0.00雪花
-
发表于:
2012-1-19 19:50
1063
-
[旧帖] 一个函数里提升IRQL的话 这个函数可以在可分页内存中吗
0.00雪花
#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虚拟机自动化脱壳的方法