阅读:2026回复:6
关于例子USBPort中的疑问
经过折腾了半天终于调试通过了这个例子,但是发现始终SetupDiEnumDeviceInterfaces这个函数不能正确返回信息,为了进行多次查询,我将代码稍微做了下面的修改:
BOOL bGet = FALSE,bSuccess= FALSE; while(!bGet) { BOOL bSuccess = SetupDiEnumDeviceInterfaces(hDevInfo,NULL,&guidHID,nIndex, &strtInterfaceData); if(bSuccess) { break; } else { DWORD dwLastError = GetLastError(); if (dwLastError == ERROR_NO_MORE_ITEMS) { bGet = TRUE; } } nIndex++; } 这个代码还是没有返回可用的usb设备,说是找不到可用的usb设备。 我在windows2000下面开发的,用vc6.0,不知道有没有大侠遇到过类似的问题?小弟先谢过了!! 机子上有2个usb口,我还专门试了插上一个u盘的情况,也不能正确得到usb设备可用的正确信息。 |
|
沙发#
发布于:2003-12-31 23:31
这个问题有讨论过,详见
http://www.driverdevelop.com/forum/viewthread.php?tid=56497 附件也是在Win2000+VC++6下调试通过的,试试吧 |
|
|
板凳#
发布于:2004-01-03 10:53
还是老问题,SetupDiEnumDeviceInterfaces返回值失败。:(,同时发现SetupDiGetClassDevs的调用引发了ERROR_IO_PENDING错误。
|
|
地板#
发布于:2004-01-05 09:28
Mail回复了
|
|
|
地下室#
发布于:2004-01-06 13:52
To simenmc:
请问用你的程序我这老提示:“USBPortDlg.obj : error LNK2001: unresolved external symbol _HidD_GetAttributes@8 USBPortDlg.obj : error LNK2001: unresolved external symbol _HidD_GetHidGuid@4 Debug/USBPort.exe : fatal error LNK1120: 2 unresolved externals”,该如何解决?多谢!!! |
|
5楼#
发布于:2004-01-06 15:31
编译程序前请先确定环境是否已设定好:
1、安装DDK。 2、VC中,在Tools|Options|Directories中加入相应的INC和LIB路径。 以WIN2000为例: “Include files”中加入 C:\\NTDDK\\INC;C:\\NTDDK\\SRC\\GENERAL\\TOASTER\\INC;C:\\NTDDK\\INC\\DDK。 “Library files”中加入 C:\\NTDDK\\LIBFRE\\I386。 3、VC中,在Project|Settings|Win32 Release中,打开Link选项卡,在Category下拉列表框中选择Input。然后在Object/library modules文本框中输入hid.lib setupapi.lib。在Addtional library path文本框中输入这些函数库文档的路径:C:\\NTDDK\\LIBFRE\\I386。 4、编译。Build|Batch Build,只选择USBPort-Win32 Release,点击Build按钮。 完成。 |
|
|
6楼#
发布于:2004-01-08 08:25
Sorry,更正一点。
步骤2中,“Include files”路径只要输入C:\\NTDDK\\INC即可。 “C:\\NTDDK\\SRC\\GENERAL\\TOASTER\\INC;C:\\NTDDK\\INC\\DDK”可不输,那是我在调其它程序所要用到的。 快过年了,祝大家工作顺利,身体健康! :) |
|
|