IOCTL_SBAUD_GET_DEVICE_DESCRIPTOR IOCTL (sidebandaudio.h)

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

Основной код

IRP_MJ_DEVICE_CONTROL

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

NULL.

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

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

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

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

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

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

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

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

Комментарии

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

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

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

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

Требования

Требование Значение
Заголовок sidebandaudio.h

См. также раздел

sidebandaudio.h

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