| 
					阅读:1981回复:6
				 DeviceioControl问题。
					我用DeviceIoControl发送命令返回0,出错为参数不对,请问具体是什么参数有错?				 | |
| 
 | 
| 沙发#发布于:2001-11-27 09:50 把你的代码贴出来看看 | |
| 
 | 
| 板凳#发布于:2001-12-05 12:30 
					我也遇到了这个问题,是一个PCI的PNP的驱动,好象是没有能够得到
 系统分配的资源的信息,你的解决了吗? | |
| 
 | 
| 地板#发布于:2001-12-08 12:02 
					GENPORT_WRITE_INPUT InputBuffer;
 hndFile = CreateFile(\"\\\\\\\\.\\\\GpdDev\", GENERIC_WRITE, FILE_SHARE_WRITE, NULL, OPEN_EXISTING, 0, NULL); if (hndFile == INVALID_HANDLE_VALUE) { AfxMessageBox(\"Unable to open the device.\"); exit(1); } IoctlCode = IOCTL_GPD_WRITE_PORT_USHORT; InputBuffer.ShortData =0xff;// (USHORT)DataValue; DataLength = offsetof(GENPORT_WRITE_INPUT, ShortData) + sizeof(InputBuffer.ShortData); IoctlResult = DeviceIoControl(hndFile,IoctlCode, &InputBuffer, DataLength, NULL, 0, &ReturnedLength, NULL ); 代码如上,IoctlResult总是为0!好象IoctlCode是一个很大的负数。 | |
| 
 | 
| 地下室#发布于:2001-12-10 15:01 
					DeviceIoControl的问题解决一些了,是驱动的问题,不是APP的问题,使用超限的硬件地址偏移量,导致DeviceIoControl的return为0
 | |
| 
 | 
| 5楼#发布于:2001-12-10 15:11 
					你用的是ddk里的GPDWRITE.C地例子么?
 看着应该是没什么问题呀. 你用GetLastError得到什么结果 | |
| 
 | 
| 6楼#发布于:2001-12-11 17:30 
					问题解决了,是驱动的基地址偏移量的计算方法的错误,改过,好了。
 非常高兴。 | |
| 
 | 
 
							
 
				