该问题涉及: How do I reset USB devices using the Windows API? 我正在使用Vistual Studio 2015,项目目标平台是 Win10.0.14393.0 .
Win10.0.14393.0
我正在尝试使用用户空间解决方案通过调用重新枚举USB集线器设备接口 CM_Reenumerate_DevInst() .
CM_Reenumerate_DevInst()
我的问题是什么时候打电话 SetupDiGetClassDevs(&GUID_DEVINTERFACE_USB_HUB, NULL, NULL, DIGCF_DEVICEINTERFACE);
SetupDiGetClassDevs(&GUID_DEVINTERFACE_USB_HUB, NULL, NULL, DIGCF_DEVICEINTERFACE);
我得到这个编译错误。
1>UsbDevices.obj : error LNK2001: unresolved external symbol GUID_DEVINTERFACE_USB_HUB 1>C:\DEV\Experiment\MFCApplication1\x64\Debug\MFCApplication1.exe : fatal error LNK1120: 1 unresolved externals
我找不到定义此GUID的库。
这在任何库中都没有实现。您需要的一切:
#include <initguid.h> #include <usbiodef.h>
所以包括 initguid.h 之前 usbiodef.h
initguid.h
usbiodef.h
这个 GUID_DEVINTERFACE_USB_HUB 变量定义为 DEFINE_GUID 宏。此宏在中定义 guiddef.h 以不同的方式-取决于 INITGUID 已定义。终于找到了 初始化GUID。h类 -这个小文件的作用。
GUID_DEVINTERFACE_USB_HUB
DEFINE_GUID
guiddef.h
INITGUID
初始化GUID。h类