| 
			 
					阅读:1140回复:3
				 
				有没有办法在驱动程序中读出设备对应pdo的内容?
					如题! :(				 
							 | 
	|
| 
			 沙发# 
								发布于:2003-02-05 02:39				
			
					应该能啊。在ADDDEVICE中将得到PDO的指针,然后读就是了,不过读读就算了,千万别改牙。				 
							 | 
	|
| 
			 板凳# 
								发布于:2003-02-05 04:31				
			
					对啊!我是把PDO的指针在ADDDEVICE给读出来了,可那时是个Hex的地址。我是想,能不能把由Bus Driver生成Pdo的内容给读出来!
 
							我在C++上编程造诣很浅,尤其是和硬件打交道的时候,希望前辈能够指点一下!  | 
	|
| 
			 地板# 
								发布于:2003-02-06 19:29				
			
					已经有地址了就可以读了。
 
							你可以查一下DEVICE OBJECT的定义,然后读其中的某个域: VOID QueryPdo(PDEVICE_OBJECT pdo) { PDEVICE_OBJECT DeviceObject; PDRIVER_OBJECT DriverObject; ULONG Flag; char Size; ...... ...... DeviceObject=pdo; DriverObject=DeviceObject->DriverObject; //存在其中的驱动对象 Flag=DeviceObject->Flag; //包括缓冲策略的一个标志 Size=DeviceObject->StackSize; //IO 堆栈的数量 ...... ...... } 也可以一个字节一个字节的读,当然每个字节都是hex,你自己要明白她的意思。 ULONG size=sizeof(DEVICE_OBJECT); usigned char Data[size]; for(int i=0;i<size;i++) { Data=*((unsigned char*)pdo+i); }  | 
	|