| 
					阅读:1098回复:5
				 请问如何在WDM驱动程序中定义一个数组指针指向I.IoctlBuffer?请问如何在WDM驱动程序中定义一个数组指针指向I.IoctlBuffer? 比如 DWORD a[10] …………? 因为好像不能直接给I.IoctlBuffer赋值, 所以我要把我的数组传给I.IoctlBuffer,必须用这个数组的指针指向I.IoctlBuffer? | |
| 
 | 
| 沙发#发布于:2004-09-11 12:34 
					建议申请内存:
 I.IoctlBuffer= ExAllocatePool(PagedPool,size);或 I.IoctlBuffer= ExAllocatePool(NonPagedPool,size); | |
| 
 | 
| 板凳#发布于:2004-09-11 14:52 建议申请内存: 申请内存的函数与我定义的那个数组也挨不上边呀 然后咋办? | |
| 
 | 
| 地板#发布于:2004-09-11 20:26 
					真是什么人都敢写驱动呀,都没有什么基础。。。别人告诉你用RtlCopyMemory还是不明白在说什么,那就没有办法了。。。
 拿你那个代码来说 在wdm中,: DWORD SampleAngle[17]={0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}; 然后在 NTSTATUS UuuDevice::W32IF_SET_MEASUREMODE_Handler(KIrp I) { NTSTATUS status = STATUS_SUCCESS; .................. ................. // I.IoctlBuffer() = SampleAngle;///这句话有问题吗? // 问题大了去了,改成 RtlCopyMemory(I.IoctlBuffer, SampleAngle, sizeof(SampleAngle)); // 应该有个地方这样: I.Information() = sizeof(SampleAngle); .................. ................. } | |
| 地下室#发布于:2004-09-11 20:53 真是什么人都敢写驱动呀,都没有什么基础。。。别人告诉你用RtlCopyMemory还是不明白在说什么,那就没有办法了。。。 555555555555555555555555 其实我就是这么改的,但是还是不好使!! | |
| 
 | 
| 5楼#发布于:2004-09-13 09:00 
					你的相应部分的汇编代码贴出来看看......嘿嘿......				 | |
| 
 | 
 
							
 
				 
				 
				
