* @brief Sets the alternate settings for the specified USB interface. This allows you to switch between two interfaces with the same ID but different alternate settings.
*
* @param dev Indicates the USB device address.
* @param interfaceid Indicates the interface ID of the USB device.
* @param altIndex Indicates the alternate settings of the USB interface.
*
* @return Returns <b>0</b> if the operation is successful; returns a non-0 value if the operation fails.
* @brief Reads data on a specified endpoint during bulk transfer. The endpoint must be in the data reading direction. You can specify a timeout duration if needed.
*
* @param dev Indicates the USB device address.
* @param pipe Indicates the pipe of the USB device.
* @param timeout Indicates the timeout duration.
* @param data Indicates the read data.
*
* @return Returns <b>0</b> if the operation is successful; returns a non-0 value if the operation fails.
* @brief Performs control transfer for endpoint 0 of the device. The data transfer direction is determined by the request type. If the result of <b>requestType</b>&
* <b>USB_ENDPOINT_DIR_MASK</b> is USB_DIR_OUT, the endpoint is in the data writing direction; if the result is <b>USB_DIR_IN</b>, the endpoint is in the data reading direction.
*
* @param dev Indicates the USB device address.
* @param ctrl Indicates the control data packet structure.
* @param data Indicates the read data or written.
*
* @return Returns <b>0</b> if the operation is successful; returns a non-0 value if the operation fails.
* @brief Sends or receives requests for isochronous transfer on a specified endpoint. The data transfer direction is determined by the endpoint direction.
*
* @param dev Indicates the USB device address.
* @param pipe Indicates the pipe of the USB device.
* @param clientData Indicates the client data.
* @param buffer Indicates the transferred data.
*
* @return Returns <b>0</b> if the operation is successful; returns a non-0 value if the operation fails.
* @since 3.0
*/
staticint32_tRequestQueue(constUsbDev&dev,
constUsbPipe&pipe,
conststd::vector<uint8_t>&clientData,
conststd::vector<uint8_t>&buffer);
/* *
* @brief Waits for the operation result of the requests for isochronous transfer in <b>RequestQueue</b>.
*
* @param dev Indicates the USB device address.
* @param clientData Indicates the client data.
* @param buffer Indicates the transferred data.
* @param timeout Indicates the timeout duration.
*
* @return Returns <b>0</b> if the operation is successful; returns a non-0 value if the operation fails.