为什么 `libusb_bulk_transfer' Return 为 0?

Why Does `libusb_bulk_transfer' Return 0?

我正在使用 libusb-1.0。有时当我打电话时:

    int rc = libusb_bulk_transfer(handle_,
                                  EP_IN_ADDR,
                                  (unsigned char *)buf_,
                                  64,
                                  &read_,
                                  0);

it returns rc = 0(无错误)和 read_ = 0(接收到的字节数为零)。但是我已经指定了无限超时(最后一个参数),所以“libusb_bulk_transfer”是不是应该阻塞直到我有一些数据?

Sometimes, it returns rc = 0 (no error) and read_ == 0 (zero number of bytes received).

批量端点可以向您发送包含 字节数据的数据包,称为零数据包。这不是错误情况。