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


IOCTL_SBAUD_GET_ENDPOINT_DESCRIPTOR2 IOCTL (sidebandaudio.h)

Звуковой драйвер выдает код управления IOCTL_SBAUD_GET_ENDPOINT_DESCRIPTOR2 для получения сведений о конечной точке аудио, предоставляемой через интерфейс звукового устройства бокового канала. Версия 2 этого IOCTL позволяет драйверу контроллера предоставлять пользовательские свойства устройства для добавления в интерфейс звукового устройства.

Основной код

IRP_MJ_DEVICE_CONTROL

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

Значение индекса конечной точки на основе 0, основанное на количестве конечных точек аудио, как указано IOCTL_SBAUD_GET_DEVICE_DESCRIPTOR.

Это значение ULONG от 0 до (N-1), где N — количество конечных точек для устройства.

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

Размер ULONG.

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

Буфер, содержащий SIDEBANDAUDIO_ENDPOINT_DESCRIPTOR2 структуру, за которой следуют любые другие данные, на которые ссылается структура. Возвращается, если размер выходного буфера достаточно и запрос выполняется успешно. В частности, буфер содержит хранилище для строки, на которую ссылается поле FriendlyName структуры SIDEBANDAUDIO_ENDPOINT_DESCRIPTOR2 .

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

Размер SIDEBANDAUDIO_ENDPOINT_DESCRIPTOR2 структуры и ссылочных данных.

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

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

Примечание Это значение может быть больше размера структуры SIDEBANDAUDIO_ENDPOINT_DESCRIPTOR2 , так как выходной буфер может содержать другие данные, на которые ссылается структура.

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

Комментарии

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

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

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

Требования

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

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

SIDEBANDAUDIO_ENDPOINT_DESCRIPTOR2

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

sidebandaudio.h