3.3.4.16 USB_HOST_AUDIO_V1_FeatureUnitChannelVolumeSubRangeNumbersGet Function

C

USB_HOST_AUDIO_V1_RESULT USB_HOST_AUDIO_V1_FeatureUnitChannelVolumeSubRangeNumbersGet(
    USB_HOST_AUDIO_V1_OBJ audioObj, 
    USB_HOST_AUDIO_V1_CONTROL_ENTITY_OBJ entityObject, 
    USB_HOST_AUDIO_V1_REQUEST_HANDLE * requestHandle, 
    uint8_t channelNumber, 
    uint16_t * nSubRanges
);

Summary

This function schedules a control request to the Audio Device feature unit to get the number of sub-ranges supported by the volume control on the specified channel. Prior to calling this function the user should check if volume control exists on the specified channel by calling the USB_HOST_AUDIO_V1_FeatureUnitChannelVolumeExists function.

If the request was scheduled successfully, the requestHandle parameter will contain a request handle that uniquely identifies this request. If the request could not be scheduled successfully, requestHandle will contain USB_HOST_AUDIO_V1_REQUEST_HANDLE_INVALID.

When the control request completes, the Audio v1.0 Client Driver will call the callback function that was set using the USB_HOST_AUDIO_V1_EntityRequestCallbackSet function. The context parameter specified here will be returned in the callback.

Parameters

Parameters Description
audioObj USB Host Audio v1.0 Device object
entityObject Audio control entity object
requestHandle Output parameter that will contain the handle to this request
channelNumber Channel number to which the volume control is addressed
nSubRanges Output parameter that will contain the number of sub-ranges when the request is completed and a callback is received

Returns

  • USB_HOST_AUDIO_V1_RESULT_SUCCESS - The request was scheduled successfully. requestHandle will contain a valid request handle.
  • USB_HOST_AUDIO_V1_RESULT_BUSY - The control request mechanism is currently busy. Retry the request.
  • USB_HOST_AUDIO_V1_RESULT_FAILURE - An unknown failure occurred. requestHandle will contain USB_HOST_AUDIO_V1_0_REQUEST_HANDLE_INVALID.
  • USB_HOST_AUDIO_V1_RESULT_PARAMETER_INVALID - The data pointer or requestHandle pointer is NULL.

Remarks

None.