nudtlql
驱动牛犊
驱动牛犊
  • 注册日期2004-11-10
  • 最后登录2004-12-16
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1655回复:3

关于ezusb设备名

楼主#
更多 发布于:2004-12-10 09:27
请教各位大虾:
ezusb设备名是如何确定的?为什么有时是ezusb-0,有时又是ezusb-1,这个名在驱动程序(或其对应的inf文件)中如何体现的?或者说,我在应用程序中如何取createfile的第一个参数呢?谢谢!如能回信到nudtlql@163.com更是不胜感激!
w_bingjian
驱动牛犊
驱动牛犊
  • 注册日期2004-05-11
  • 最后登录2005-04-13
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2004-12-10 11:40
设备名是总线检测到硬件后,在创建pdo时由驱动程序给出的,你可以看一下文件ezusbsys.c,函数Ezusb_PnPAddDevice调用 Ezusb_CreateDeviceObject时给出的ezusb-0,ezusb-1.
w_bingjian
驱动牛犊
驱动牛犊
  • 注册日期2004-05-11
  • 最后登录2005-04-13
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2004-12-10 11:47
出现这个问题表明有多个设备实例,即前一个实例没有完全退出,由于硬件或者固件程序的不稳定,使驱动程序再次检测到新硬件,出现了第二个设备实例;另外的原因可能是计算机接了多个类似的usb设备,也会产生多个设备实例ezusb-0,ezusb-1.
w_bingjian
驱动牛犊
驱动牛犊
  • 注册日期2004-05-11
  • 最后登录2005-04-13
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于: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);
}
}
}
游客

返回顶部