【发布时间】:2017-02-07 15:34:20
【问题描述】:
#include <windows.h>
#include <devguid.h>
#include <initguid.h>
#include <wtypes.h>
#include <WinBase.h>
#include <stdio.h>
#include "libusb.h"
#include "resource.h"
int main(int argc, char *argv[]) {
libusb_device *dev;
int i = 0, j = 0;
libusb_device **devs;
int r;
ssize_t cnt;
USHORT VendorID = 0x04b4;
USHORT ProductID = 0x00f3;
libusb_device_handle * DeviceHandle;
AllocConsole();
r = libusb_init(NULL);
if (r < 0)
return r;
cnt = libusb_get_device_list(NULL, &devs);
if (cnt < 0)
return (int)cnt;
while ((dev = devs[i++]) != NULL) {
struct libusb_device_descriptor desc;
int r = libusb_get_device_descriptor(dev, &desc);
if (r < 0) {
fprintf(stderr, "failed to get device descriptor");
return 1;
}
if (desc.idVendor == VendorID &&
desc.idProduct == ProductID){
int err = libusb_open(dev,
&DeviceHandle);
if (err < 0){
printf("GetLastError : %d\n", GetLastError());
return 1;
}
libusb_free_device_list(devs, 1);
libusb_close(DeviceHandle);
}
}
return 0;
}
这是我的代码。问题是我无法获得设备句柄。 &DeviceHandle 只是很多 0 并且得到最后一个错误并没有给我任何东西。如果这很重要,我会尝试处理 cypress fx3。它编译并完美运行,直到我走到这一步。欢迎对这个问题提出任何想法。
【问题讨论】:
-
你在
err得到了什么? -
那是
LIBUSB_ERROR_NOT_SUPPORTED Operation not supported or unimplemented on this platform.libusb.sourceforge.net/api-1.0/…
标签: visual-studio libusb