Вот ошибка, я не могу понять, какой «неправильный параметр» для WinUsb_ReadIsochPipe< /code> для правильного выполнения запроса на получение данных.
Код: Выделить всё
Failed to start a `WinUsb_ReadIsochPipe` request. ---->: Error Code: [ 57 ], Error Meaning: [ The parameter is incorrect. ]
https://pastebin.com/CQj5S7Sg
Примечание: Stackoverflow делает не позволяют предоставлять полный код, поскольку у них есть возможность размещать только короткие коды, что вызывает сожаление.
Вот вывод программы:
Код: Выделить всё
F:\AI_Componets\WinUSB\main_test>main.exe
Checking Alternate Setting 1 with [1] endpoints:
Isochronous In Pipe Transfer Size: 24576
Isochronous In Pipe Packet Count: 8
Pipe 0 in Alternate Setting 1: PipeId = 130, PipeType = 1, MaximumBytesPerInterval = 3072, Interval = 1
Initiating Read transfer.
Parameters, BEFORE calling `WinUsb_RegisterIsochBuffer`:
Original Buffer Address: 00000259E2B15F70
Buffer Size in Memory (Bytes): 8
WinusbHandle Address: 00000259E2B130A0
IsochReadBufferHandle: Address FFFFFFFFFFFFFFFF
WinUsb_ReadIsochPipeAsap Parameters, AFTER calling `WinUsb_RegisterIsochBuffer`:
IsochReadBufferHandle: Address 00000259E2B1C4B0
TransferSize: 24576
PacketCount: 8
Buffer Address: 00000259E2B15F70
Buffer Size in Memory (Bytes): 8
WinusbHandle Address: 00000259E2B130A0
BufferLength: 24576
Transfer 1: Offset = 0
Read transfer sent by using ASAP flag.
Failed to start a `WinUsb_ReadIsochPipe` request. ---->: Error Code: [ 57 ], Error Meaning: [ The parameter is incorrect. ]
Requested 24576 bytes in 8 packets per transfer.
Transfer 1 completed. Read 33360 bytes.
Failed to unregister isoch read buffer.
< /code>
Вот дескрипторы USB (примечание: USB - 2,0): < /p>
USBView.exe:
------------
[Port2] : USB Composite Device
Is Port User Connectable: yes
Is Port Debug Capable: no
Companion Port Number: 0
Companion Hub Symbolic Link Name:
Protocols Supported:
USB 1.1: yes
USB 2.0: yes
USB 3.0: no
Device Power State: PowerDeviceD0
---===>Device Information Device Bus Speed: High (is not SuperSpeed or higher capable)
Device Address: 0x01
Open Pipes: 0
*!*ERROR: No open pipes!
===>Device Descriptor This is a Multi-interface Function Code Device
bDeviceSubClass: 0x02 -> This is the Common Class Sub Class
bDeviceProtocol: 0x01 -> This is the Interface Association Descriptor protocol
bMaxPacketSize0: 0x40 = (64) Bytes
idVendor: 0xEBA4 = Vendor ID not listed with USB.org
idProduct: 0x7588
bcdDevice: 0x0328
iManufacturer: 0x01
English (United States) "USB3.0 HD Audio Capture"
iProduct: 0x02
English (United States) "USB3.0 HD Video Capture"
iSerialNumber: 0x06
*!*ERROR: No String Descriptor for index 6!
bNumConfigurations: 0x01
---===>Full Configuration DescriptorConfiguration Descriptor Validated
bNumInterfaces: 0x04
bConfigurationValue: 0x01
iConfiguration: 0x00
bmAttributes: 0x80 -> Bus Powered
MaxPower: 0x64 = 200 mA
===>IAD Descriptor Video Interface Class
bFunctionSubClass: 0x03 -> Video Interface Collection
bFunctionProtocol: 0x00 -> PC_PROTOCOL_UNDEFINED protocol
iFunction: 0x05
*!*ERROR: No String Descriptor for index 5!
===>Interface Descriptor Video Interface Class
bInterfaceSubClass: 0x01 -> Video Control Interface SubClass
bInterfaceProtocol: 0x00
iInterface: 0x05
*!*ERROR: No String Descriptor for index 5!
===>Class-Specific Video Control Interface Header Descriptor Validated
dwClockFreq: 0x017D7840 = (25000000) Hz
bInCollection: 0x01
baInterfaceNr[1]: 0x01
USB Video Class device: spec version 1.0
===>Video Control Input Terminal Descriptor
Подробнее здесь: [url]https://stackoverflow.com/questions/79389645/winusb-how-to-receive-isochronous-data-from-usb-2-0-high-speed-in-endpoint-fro[/url]
Мобильная версия