阅读:1655回复:3
关于ezusb设备名
请教各位大虾:
ezusb设备名是如何确定的?为什么有时是ezusb-0,有时又是ezusb-1,这个名在驱动程序(或其对应的inf文件)中如何体现的?或者说,我在应用程序中如何取createfile的第一个参数呢?谢谢!如能回信到nudtlql@163.com更是不胜感激! |
|
沙发#
发布于:2004-12-10 11:40
设备名是总线检测到硬件后,在创建pdo时由驱动程序给出的,你可以看一下文件ezusbsys.c,函数Ezusb_PnPAddDevice调用 Ezusb_CreateDeviceObject时给出的ezusb-0,ezusb-1.
|
|
板凳#
发布于:2004-12-10 11:47
出现这个问题表明有多个设备实例,即前一个实例没有完全退出,由于硬件或者固件程序的不稳定,使驱动程序再次检测到新硬件,出现了第二个设备实例;另外的原因可能是计算机接了多个类似的usb设备,也会产生多个设备实例ezusb-0,ezusb-1.
|
|
地板#
发布于:2004-12-10 12:02
createfile的第一个参数,在Ez-usb control panel源文件中的通过以下代码获取。
void CEzMrApp::OnFileUpdateAllDevs() { HANDLE hDevice = NULL; char pcDriverName[MAX_DRIVER_NAME] = ""; m_strUSBDevs = ""; for(int i =0; i<MAX_USB_DEV_NUMBER; i++) { sprintf(pcDriverName, "Ezusb-%d", i); if (bOpenDriver (&hDevice, pcDriverName) == TRUE) { TRACE("TPM:CEzMrApp::OnFileUpdateAllDevs(): %s available\n", pcDriverName); m_strUSBDevs += pcDriverName; m_strUSBDevs += "\n"; CloseHandle (hDevice); } } } |
|