IOCTL_SBAUD_GET_DEVICE_DESCRIPTOR IOCTL (sidebandaudio.h)
The audio driver issues the IOCTL_SBAUD_GET_DEVICE_DESCRIPTOR to get information about an enabled sideband audio device interface. Specifically this returns the number of Audio endpoints available on a device that supports Sideband. This information is returned in an Audio device descriptor structure.
Major code
Input buffer
NULL.
Input buffer length
Output buffer
A buffer containing a SIDEBANDAUDIO_DEVICE_DESCRIPTOR structure.
Output buffer length
The size of a SIDEBANDAUDIO_DEVICE_DESCRIPTOR structure.
Status block
If the routine succeeds, then Status is set to STATUS_SUCCESS and the Information member is the number of bytes that the routine writes to the output buffer.
If Status is set to STATUS_BUFFER_TOO_SMALL, then the audio driver should read the Information member to get the size of the buffer that the caller should allocate for this request.
Remarks
This IOCTL can only be called from kernel mode.
The audio driver sends this request to obtain information about an enabled Audio sideband device interface. The information does not change while the interface is enabled, but can change while the interface is disabled. The audio driver sends this request shortly after discovering an enabled sideband audio device interface and uses the information to determine how many sideband audio endpoints are available.
The audio driver sends this request once with an output buffer size of zero (0) in order to determine the required output buffer size. In this case, the request will complete with Status STATUS_BUFFER_TOO_SMALL and set the Information member to the required buffer size. The audio driver then allocates the necessary storage space and sends the request again. Typically an audio driver will store a pointer to this storage location in its device context for reference during later activity.
The audio driver can then iteratively determine each endpoints capability with the IOCTL IOCTL_SBAUD_GET_ENDPOINT_DESCRIPTOR.
Requirements
Requirement | Value |
---|---|
Header | sidebandaudio.h |