libusb_fill_interrupt_transfer 哪些是输入参数,那些是输出
时间: 2024-05-31 17:08:22 浏览: 212
参数?
输入参数:
1. `struct libusb_transfer *transfer` - 包含传输请求信息的结构体指针。
2. `libusb_device_handle *dev_handle` - 设备的句柄。
3. `unsigned char endpoint` - 设备的端点地址。
4. `unsigned char *data` - 存储传输数据的缓冲区。
5. `int length` - 传输数据的长度。
6. `libusb_transfer_cb_fn callback` - 传输完成后回调函数的指针。
7. `void *user_data` - 回调函数使用的用户数据指针。
8. `unsigned int timeout` - 等待传输完成的超时时间(以毫秒为单位)。
输出参数:
无。
相关问题
libusb_fill_interrupt_transfer 哪些是输入参数,那些是输出参数
输入参数:
1. struct libusb_transfer* transfer:指向要填充的传输结构体的指针。
2. libusb_device_handle* dev_handle:指向一个已打开的USB设备的句柄。
3. unsigned char endpoint:指定要使用的端点地址。
4. unsigned char* data:指向要传输的数据缓冲区。
5. int length:要传输的数据的长度。
6. libusb_transfer_cb_fn callback:传输完成后调用的回调函数。
7. void* user_data:传输完成后回调函数的用户数据。
输出参数:
无。
libusb_fill_interrupt_transfer函数体
libusb_fill_interrupt_transfer函数用于填充一个LIBUSB_TRANSFER_TYPE_INTERRUPT类型的传输结构体。它的函数原型如下:
int libusb_fill_interrupt_transfer(struct libusb_transfer* transfer, libusb_device_handle* dev_handle, unsigned char endpoint, unsigned char* buffer, int length, libusb_transfer_cb_fn callback, void* user_data, unsigned int timeout);
参数说明:
- transfer:指向一个要填充的传输结构体的指针。
- dev_handle:用于传输的设备句柄。
- endpoint:设备的端点地址。
- buffer:传输数据的缓冲区。
- length:要传输的数据长度。
- callback:传输完成后回调函数的指针。
- user_data:传递给回调函数的用户数据指针。
- timeout:传输超时时间,单位为毫秒。
函数返回值:
- 0:成功。
- 其他:失败。
函数体如下:
```
int libusb_fill_interrupt_transfer(struct libusb_transfer* transfer, libusb_device_handle* dev_handle, unsigned char endpoint, unsigned char* buffer, int length, libusb_transfer_cb_fn callback, void* user_data, unsigned int timeout)
{
transfer->dev_handle = dev_handle;
transfer->endpoint = endpoint;
transfer->type = LIBUSB_TRANSFER_TYPE_INTERRUPT;
transfer->buffer = buffer;
transfer->length = length;
transfer->callback = callback;
transfer->user_data = user_data;
transfer->timeout = timeout;
transfer->status = LIBUSB_TRANSFER_COMPLETED;
transfer->actual_length = length;
transfer->flags = 0;
return 0;
}
```
该函数首先将传入的参数分别赋值给传输结构体中的成员变量,然后将传输状态标记为已完成,并返回0表示成功。
阅读全文