| 
			 
					阅读:1146回复:3
				 
				CreateFile问题。。。谢谢
					我已经获得了一个设备的
 
							DevicePath, \\\\?\\hid#vid_08ca&pid_0001&col01#5&13132334&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030} 但当我想 HANDLE pDevicefile = CreateFile( ifDetail->DevicePath, GENERIC_READ | GENERIC_WRITE, FILE_SHARE_READ | FILE_SHARE_WRITE, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL); 时,却得到了INVALID_HANDLE_VALUE的 pDevicefile GetLastError()返回 5 请问怎么回事啊? 谢谢。 另外 GetLastError()具体内容?  | 
	|
					
						
						
						
						
  | 
	
| 
			 沙发# 
								发布于:2003-01-02 08:47				
			
					改成 \\\\\\\\?\\\\hid#vid_08ca&pid_0001&col01#5&13132334&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}
 
							 | 
	|
					
						
  | 
	
| 
			 板凳# 
								发布于:2003-01-02 11:40				
			
					GetLastError == 5 为 Access is denied. 
 
							来自MSDN  | 
	|
| 
			 地板# 
								发布于:2003-01-02 14:37				
			
					改成 \\\\\\\\.\\\\hid#vid_08ca&pid_0001&col01#5&13132334&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}
 
							在CreateFile(ifDetail->DevicePath,..)这个参数里都是用\\\\\\\\.\\\\ 试试看.你可以用 void PrintError(){ char *errMsg; FormatMessage( FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_SYSTEM, NULL, GetLastError(), MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), (LPTSTR) &errMsg, 0, NULL ); printf(\"%s\\n\", errMsg ); LocalFree( errMsg ); return; }这个函数得到GetLastError()的中文意思  | 
	|