IOCTL_SBAUD_GET_DEVICE_DESCRIPTOR IOCTL (sidebandaudio.h)
Звуковой драйвер выдает IOCTL_SBAUD_GET_DEVICE_DESCRIPTOR для получения сведений об интерфейсе включенного бокового звукового устройства. В частности, это возвращает количество конечных точек звука, доступных на устройстве, поддерживающем sideband. Эти сведения возвращаются в структуре дескриптора звукового устройства .
Основной код
Входной буфер
NULL.
Длина входного буфера
Выходной буфер
Буфер, содержащий структуру SIDEBANDAUDIO_DEVICE_DESCRIPTOR .
Длина выходного буфера
Размер структуры SIDEBANDAUDIO_DEVICE_DESCRIPTOR .
Блок состояния
Если подпрограмма выполнена успешно, для параметра Состояние устанавливается значение STATUS_SUCCESS а элемент Information — это количество байтов, записываемых подпрограммой в выходной буфер.
Если для параметра Состояние задано значение STATUS_BUFFER_TOO_SMALL, аудиодрайвер должен прочитать элемент Information , чтобы получить размер буфера, который вызывающий объект должен выделить для этого запроса.
Комментарии
Этот IOCTL можно вызывать только из режима ядра.
Аудиодрайвл отправляет этот запрос, чтобы получить сведения о включенном интерфейсе звукового бокового устройства. Сведения не изменяются при включении интерфейса, но могут изменяться при отключении интерфейса. Аудиодрайвывод отправляет этот запрос вскоре после обнаружения включенного интерфейса бокового звукового устройства и использует эти сведения для определения количества доступных конечных точек бокового аудио.
Аудиодрайвер отправляет этот запрос один раз с размером выходного буфера нуль (0), чтобы определить требуемый размер выходного буфера. В этом случае запрос завершится с состоянием STATUS_BUFFER_TOO_SMALL и присвоит элементу Information необходимый размер буфера. Затем звуковой драйвер выделяет необходимое дисковое пространство и отправляет запрос снова. Как правило, звуковой драйвер сохраняет указатель на это место хранения в контексте устройства для справки во время последующих действий.
Затем аудиодрайвер может итеративно определить возможности каждой конечной точки с помощью IOCTL_SBAUD_GET_ENDPOINT_DESCRIPTOR IOCTL.
Требования
Требование | Значение |
---|---|
Заголовок | sidebandaudio.h |