大家好,关于USB的GUID应该从哪里去获取,最近我在做vc++与usb的通讯 我用EZ-USB的芯片,安装好驱动后 用 "\\\\.\\Ezusb-0" "\\\\.\\Ezusb-1"(第二个Ezusb设备) 这样的设备名就可以 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 首先谢谢你,但是能说的再详细一些吗?我之所以会用到GUID 是因为程序里有用到,现在他的GUID匹配不上,所以我的程序走不下去 之前的都屏蔽了直接 CreateFile(_T("\\\\.\\Ezusb-0") HANDLE CreateFile( LPCTSTR lpFileName, // file name DWORD dwDesiredAccess, // access mode DWORD dwShareMode, // share mode LPSECURITY_ATTRIBUTES lpSecurityAttributes, // SD DWORD dwCreationDisposition, // how to create DWORD dwFlagsAndAttributes, // file attributes HANDLE hTemplateFile // handle to template file);这是这个函数的用法,在我的程序里有调用这个函数的呀,这个问题已经卡了我很长时间了,求帮助 最近也在作这个东东,我的做法是1. 假设你在详细信息里看到的是这个:USB\VID_067B&PID_2303\5&192F622A&0&2, 把中间的\改为#,注册表中是以#分隔的VID_067B&PID_2303#5&192F622A&0&2 2. 在注册表HKEY_LOCAL_MACHINE\SYSTEM\CurrentContolSet\Control\DeviceClasses下搜 VID_067B&PID_2303#5&192F622A&0&2 ,然后在SymbolicLink中找到类似于\\?\USB#Vid_067b&Pid_2303#5&192f622a&0&2#{4d36e978-e325-11ce-bfc1-08002be10318}这样的字符串3. SymbolicLink是一个路径,然后打开试一下,如果打开成功说明路径是正确的。const TCHAR dev_path[] = _T("\\\\?\\USB#Vid_067b&Pid_2303#5&192f622a&0&2#{4d36e978-e325-11ce-bfc1-08002be10318}");HANDLE hFile = CreateFile( dev_path, GENERIC_READ, FILE_SHARE_READ, 0, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, 0); DWORD error = GetLastError(); if( error != 0 ) { TCHAR error_msg[100]; _stprintf( error_msg, _T("Error:%d"), error); MessageBox( 0, error_msg, _T("open"), 0 ); return -1; }如果上面这段代码没有错误说明 4d36e978-e325-11ce-bfc1-08002be10318,这一串就是要找的GUID USB驱动里面有两个重要的GUID,一个是设备类GUID一个是接口GUID查找设备句柄时可以根据设备类GUID或者接口GUID获取设备句柄设备类GUID是标准约定的,而接口GUID则是写驱动的人生成的,如guidgen.exeOpenByInterface看名字用的接口GUID,驱动提供者的文档应该会给出这个信息。。而CreateFile(_T("\\\\.\\Ezusb-0")这是cypress提供的驱动为设备建立了symboliclink,用这种方式直接CreateFile就能打开,省去了调用SetDixxx查找 msdn里搜guid 微软事先设定好的 HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\DeviceClasseshttp://msdn.microsoft.com/en-us/library/windows/hardware/ff545972(v=vs.85).aspx http://www.codeguru.com/forum/archive/index.php/t-331907.html 你用的是什么USB芯片 ?我也是刚开始做FPGA+USB +PC 的通讯 我用的是CY7C68013A这个芯片 #include <usbiodef.h>其中包含了三个常用USB GUID#define GUID_CLASS_USBHUB GUID_DEVINTERFACE_USB_HUB#define GUID_CLASS_USB_DEVICE GUID_DEVINTERFACE_USB_DEVICE#define GUID_CLASS_USB_HOST_CONTROLLER GUID_DEVINTERFACE_USB_HOST_CONTROLLER 你好,我最近也在做这个,只能检测到鼠标设备,能把你的源码发我一份吗?谢谢![email protected] 我在弄USB和计算机通信的,有资源可以分享吗,[email protected] 不妨使用CxDeviceFind设备查找类http://www.cnblogs.com/EdmundDwyane/p/3187226.html 一个界面程序连续运行出错 重叠I/O模型中WSASendTo的问题 本人初学COM,求大吓们救救我呀!! 如何实现变色按钮???菜菜问提请教高人 哪里能找到图形化显示控件? 有没有画流程图的东东????? 谁能告诉我在VC中用Socket传输数据的时候一次最大难传输多大的字节! 为何 elementFromPoint(pt.x,pt.y, &pElement); 获取不到 element 很好拿的分 从哪儿可以下载到VC 的MSDN? gets()和scanf()函数疑问,求大师指点! 求大家的网络测试数据
LPCTSTR lpFileName, // file name
DWORD dwDesiredAccess, // access mode
DWORD dwShareMode, // share mode
LPSECURITY_ATTRIBUTES lpSecurityAttributes, // SD
DWORD dwCreationDisposition, // how to create
DWORD dwFlagsAndAttributes, // file attributes
HANDLE hTemplateFile // handle to template file
);
这是这个函数的用法,在我的程序里有调用这个函数的呀,这个问题已经卡了我很长时间了,求帮助
1. 假设你在详细信息里看到的是这个:
USB\VID_067B&PID_2303\5&192F622A&0&2, 把中间的\改为#,注册表中是以#分隔的
VID_067B&PID_2303#5&192F622A&0&2
2. 在注册表HKEY_LOCAL_MACHINE\SYSTEM\CurrentContolSet\Control\DeviceClasses下搜 VID_067B&PID_2303#5&192F622A&0&2 ,然后在SymbolicLink中找到类似于
\\?\USB#Vid_067b&Pid_2303#5&192f622a&0&2#{4d36e978-e325-11ce-bfc1-08002be10318}
这样的字符串
3. SymbolicLink是一个路径,然后打开试一下,如果打开成功说明路径是正确的。const TCHAR dev_path[] = _T("\\\\?\\USB#Vid_067b&Pid_2303#5&192f622a&0&2#{4d36e978-e325-11ce-bfc1-08002be10318}");HANDLE hFile = CreateFile( dev_path, GENERIC_READ, FILE_SHARE_READ, 0, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, 0);
DWORD error = GetLastError();
if( error != 0 )
{
TCHAR error_msg[100];
_stprintf( error_msg, _T("Error:%d"), error); MessageBox( 0, error_msg, _T("open"), 0 );
return -1;
}如果上面这段代码没有错误说明 4d36e978-e325-11ce-bfc1-08002be10318,这一串就是要找的GUID
查找设备句柄时可以根据设备类GUID或者接口GUID获取设备句柄
设备类GUID是标准约定的,而接口GUID则是写驱动的人生成的,如guidgen.exe
OpenByInterface看名字用的接口GUID,驱动提供者的文档应该会给出这个信息。。而CreateFile(_T("\\\\.\\Ezusb-0")这是cypress提供的驱动为设备建立了symboliclink,用这种方式直接CreateFile就能打开,省去了调用SetDixxx查找
http://www.codeguru.com/forum/archive/index.php/t-331907.html
其中包含了三个常用USB GUID
#define GUID_CLASS_USBHUB GUID_DEVINTERFACE_USB_HUB
#define GUID_CLASS_USB_DEVICE GUID_DEVINTERFACE_USB_DEVICE
#define GUID_CLASS_USB_HOST_CONTROLLER GUID_DEVINTERFACE_USB_HOST_CONTROLLER
http://www.cnblogs.com/EdmundDwyane/p/3187226.html