Поделиться через


IOCTL_SBAUD_GET_DEVICE_DESCRIPTOR IOCTL (sidebandaudio.h)

Звуковой драйвер выдает IOCTL_SBAUD_GET_DEVICE_DESCRIPTOR для получения сведений об интерфейсе звукового устройства с поддержкой боковой полосы. В частности, это возвращает количество конечных точек аудио, доступных на устройстве, поддерживающем боковую полосу. Эти сведения возвращаются в дескриптор аудиоустройства структуре.

Основной код

IRP_MJ_DEVICE_CONTROL

Входной буфер

НЕДЕЙСТВИТЕЛЬНЫЙ.

Длина входного буфера

Выходной буфер

Буфер, содержащий структуру SIDEBANDAUDIO_DEVICE_DESCRIPTOR.

Длина выходного буфера

Размер структуры SIDEBANDAUDIO_DEVICE_DESCRIPTOR.

Блок состояния

Если подпрограмма выполнена успешно, то для параметра "Состояние" задано значение STATUS_SUCCESS, а элемент сведений — это количество байтов, которые подпрограмма записывает в выходной буфер.

Если для параметра "Состояние" задано значение STATUS_BUFFER_TOO_SMALL, звуковой драйвер должен прочитать элемент Information, чтобы получить размер буфера, который вызывающий объект должен выделить для этого запроса.

Замечания

Этот IOCTL можно вызывать только из режима ядра.

Звуковой драйвер отправляет этот запрос для получения сведений об интерфейсе устройства с поддержкой аудиобанда. Сведения не изменяются во время включения интерфейса, но могут изменяться во время отключения интерфейса. Звуковой драйвер отправляет этот запрос вскоре после обнаружения интерфейса звукового устройства с поддержкой боковой полосы и использует сведения для определения количества доступных конечных точек звука боковой полосы.

Звуковой драйвер отправляет этот запрос один раз с размером выходного буфера нуля (0), чтобы определить требуемый размер выходного буфера. В этом случае запрос завершится с состоянием STATUS_BUFFER_TOO_SMALL и задайте элементу сведений требуемый размер буфера. Затем звуковой драйвер выделяет необходимое место в хранилище и отправляет запрос еще раз. Как правило, звуковой драйвер будет хранить указатель на это расположение хранилища в контексте устройства для ссылки во время последующего действия.

Затем звуковой драйвер может итеративно определить каждую конечную точку с помощью IOCTL_SBAUD_GET_ENDPOINT_DESCRIPTORIOCTL.

Требования

Требование Ценность
заголовка sidebandaudio.h

См. также

sidebandaudio.h

Введение в коды управления ввода-вывода