libusb_claim_interface вызывает SIGSEGV (ошибка сегментации) в Win7 64bit

Я пытаюсь работать с USB HID Composite (написано самостоятельно). Есть два интерфейса, оба HID. Но второй - Custom HID.

Я использую libusb-1.0, но это то, что я могу это открытое устройство. Любые другие операции, которые я пробовал, поднимают SEGV.

Это код (QT Creator, MinGW64):

int main(int argc, char *argv[])
{

int i=0;
struct libusb_device_descriptor desc;
libusb_device ** devs;
libusb_device * dev;

int r = libusb_init(NULL);
    if (r < 0)
        return r;
int cnt = libusb_get_device_list(NULL, &devs);
if (cnt < 0)
    return cnt;

while((dev = devs[i++]) != 0){
    r = libusb_get_device_descriptor(dev, &desc);
    if (r < 0) {
        fprintf(stderr, "failed to get device descriptor");
        return -1;
    }

    if (desc.idVendor == 0x0483){
        libusb_device_handle * h;
        if (!libusb_open(dev,&h)){
                if (0 == (r=libusb_claim_interface (h,1)) )

Здесь я получил SIGSEGV. Я попытался получить строковый дескриптор и настроить конфигурацию. У меня такой же результат.

Где я не прав?

0 ответов

Другие вопросы по тегам