IOCTL_SBAUD_GET_ENDPOINT_DESCRIPTOR2 IOCTL (sidebandaudio.h)
Звуковой драйвер выдает код управления IOCTL_SBAUD_GET_ENDPOINT_DESCRIPTOR2 для получения сведений о конечной точке аудио, предоставляемой через интерфейс звукового устройства бокового канала. Версия 2 этого IOCTL позволяет драйверу контроллера предоставлять пользовательские свойства устройства для добавления в интерфейс звукового устройства.
Основной код
Входной буфер
Значение индекса конечной точки на основе 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 — это количество байтов, записываемых подпрограммой в выходной буфер.
Если для параметра Status задано значение STATUS_BUFFER_TOO_SMALL, аудиодрайвер должен прочитать элемент Information , чтобы получить размер буфера, который вызывающий объект должен выделить для этого запроса.
Комментарии
Этот IOCTL можно вызывать только из режима ядра.
Аудиодрайвл отправляет этот запрос для получения сведений о включенной конечной точке звукового бокового канала. Сведения не изменяются, когда интерфейс включен, но могут изменяться, когда интерфейс отключен. Поэтому звуковой драйвер отправляет этот запрос вскоре после обнаружения включенного интерфейса устройства и использует эти сведения для создания соответствующей структуры KSFILTER_DESCRIPTOR.
Аудиодрайвер отправляет этот запрос один раз с размером выходного буфера, равным нулю (0), чтобы определить требуемый размер выходного буфера. В этом случае запрос завершится с состоянием STATUS_BUFFER_TOO_SMALL и присвоит элементу Information необходимый размер буфера. Затем звуковой драйвер выделяет необходимое дисковое пространство и отправляет запрос снова.
Требования
Требование | Значение |
---|---|
Заголовок | sidebandaudio.h |
См. также раздел
SIDEBANDAUDIO_ENDPOINT_DESCRIPTOR2