【问题标题】:error on using GetStatus for usb device Win CE 6.0对 USB 设备 Win CE 6.0 使用 GetStatus 时出错
【发布时间】:2014-08-08 07:59:56
【问题描述】:

我正在尝试在 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 上没有关于库的信息。有谁知道我是否需要导入一个库(以及哪个库)?

【问题讨论】:

    标签: c++ windows usb windows-ce


    【解决方案1】:

    据我所知,您需要链接 usbclient.lib 和 usbd.lib。如果您无权访问它,那么您将留下 LoadLibrary/GetProcAddress - 可能它会在 usbd.dll 中,但我不确定它是否总是有效。我想这些库包含在您的平台 SDK 中。我是应用程序端开发人员,我几乎没有构建平台的经验。

    【讨论】:

    • 这些库不包含在我的 SDK 中,我找不到有关这些库的任何信息。不过谢谢你的回复!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-03-31
    • 2011-01-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-03-01
    相关资源
    最近更新 更多