使用GetStatus for usb设备Win CE 6.0时出错

时间:2014-08-08 07:59:57

标签: c++ windows usb windows-ce

我试图在Windows CE 6.0上获取USB设备的序列号。

我想使用以下功能:MSDN Link

#include <usbclient.h>

CUSBDeviceInfo::CUSBDeviceInfo(void)
{
    // Get handle for the usb drive
    HANDLE hDrive = CreateFile(_T("DSK1:"), 0, FILE_SHARE_READ | FILE_SHARE_WRITE, NULL, OPEN_EXISTING, 0, NULL);
    if (hDrive == INVALID_HANDLE_VALUE)
        return;

    // Get USB_FUNCS from device
    WORD wStat;
    USB_FUNCS usbFuncs;
    if (!GetStatus(&usbFuncs, hDrive, NULL, NULL, USB_SEND_TO_DEVICE, 0, &wStat, 2000))
        return;
}

使用 USB_FUNCS 结构,我可以获取USB设备的序列号。该函数存在于头文件中,但我总是收到以下错误:

error LNK2019: unresolved external symbol "GetStatus" in function ""public: __cdecl CUSBDeviceInfo::CUSBDeviceInfo(void)" (??0CUSBDeviceInfo@@QAA@XZ)". USBDeviceInfo.obj

我想我需要将一个库导入到我的项目中,但是没有关于MSDN上的库的信息。有谁知道我是否需要导入一个库(以及哪个库)?

1 个答案:

答案 0 :(得分:0)

从我看到你需要链接usbclient.lib和usbd.lib。如果您没有访问它,那么您将使用LoadLibrary / GetProcAddress - 可能它将在usbd.dll中,但我不确定它是否始终有效。我想这些库包含在您的平台SDK中。我是应用程序方开发人员,我几乎没有构建平台的经验。