| 
					阅读:1199回复:8
				 问个CreateFile的问题
					我调试了win2k ddk下的serial驱动程序,得到symboliclinkname=\"\\DosDevices\\COM1\",DeviceName=\"\\Device\\Serial0\",用createfile(“\\\\\\\\.\\\\DosDevices\\\\COM1”,xxxx)函数为什么打不开,然后我又将第一个参数改成DeviceName对应的字符,但也打不开,请问为什么				 | |
| 沙发#发布于:2005-04-07 15:33 
					问题解决了,原来我的驱动根本没有安装,给分,但还想问一下我在应用程序中用DeviceIoControl()函数与另一个驱动程序通讯时出现功能错误,请问这又该如何解决				 | |
| 板凳#发布于:2005-04-07 15:03 
					这么说是运行错误,看看你的SERIAL_ForbidCOMM在驱动中是不是有效				 | |
| 
 | 
| 地板#发布于:2005-04-07 12:22 
					现在我写了一个与serial驱动通信的应用程序,代码如下
 #define SERIAL_ForbidCOMM (ULONG) CTL_CODE( FILE_DEVICE_SERIAL_PORT, 0x900, METHOD_BUFFERED, FILE_ANY_ACCESS ) HANDLE hSysfile =NULL; char path[] =\"\\\\\\\\.\\\\COM1\"; hSysfile =CreateFile(path, GENERIC_READ|GENERIC_WRITE, 0, NULL, OPEN_EXISTING, 0, NULL); if (hSysfile == INVALID_HANDLE_VALUE) { CString s; s.Format(\"%d\",GetLastError()); MessageBox(s); //return ; } DWORD version,junk; BOOL bStatus =DeviceIoControl(hSysfile, SERIAL_ForbidCOMM, NULL, 0, &version, sizeof(version), &junk, NULL); if(!bStatus) { CString s; s.Format(\"%d\",GetLastError()); MessageBox(s); } CloseHandle(hSysfile); DeviceIoControl总是提示参数错误,CreateFile打开是成功的,请大家帮帮忙, | |
| 地下室#发布于:2005-04-07 10:13 
					我又查了一些资料,\\\\.\\就代表\\\\??了,所以我写成了CreateFile(\"\\\\\\\\.\\\\COM1\",XXX),是可以打开了,但用DeviceIoControl()与驱动通信时会出现违法访问的错误呢,				 | |
| 5楼#发布于:2005-04-07 10:02 
					我按你们说的写了,是这样的CreateFile(\"\\\\??\\\\COM1\",XXXXXX);提示说找不到指定的路径,请问为什么,第一个参数有错吗				 | |
| 6楼#发布于:2005-04-07 09:31 
					看我的垃圾帖
 http://www.driverdevelop.com/forum/html_89958.html?1112837434 | |
| 
 | 
| 7楼#发布于:2005-04-07 09:21 
					应用层只能访问??里的名称。				 | |
| 
 | 
| 8楼#发布于:2005-04-06 19:28 
					symboliclinkname=\"\\\\??\\\\COM1\"				 | |
 
							
 
				 
				 
				