IOCTL_SBAUD_GET_DEVICE_DESCRIPTOR IOCTL (sidebandaudio.h)

El controlador de audio emite el IOCTL_SBAUD_GET_DEVICE_DESCRIPTOR para obtener información sobre una interfaz de dispositivo de audio de banda lateral habilitada. En concreto, esto devuelve el número de puntos de conexión de audio disponibles en un dispositivo que admite Sideband. Esta información se devuelve en una estructura de descriptores de dispositivo de audio .

Código principal

IRP_MJ_DEVICE_CONTROL

Búfer de entrada

NULL.

Longitud del búfer de entrada

Búfer de salida

Búfer que contiene una estructura de SIDEBANDAUDIO_DEVICE_DESCRIPTOR .

Longitud del búfer de salida

Tamaño de una estructura de SIDEBANDAUDIO_DEVICE_DESCRIPTOR .

Bloque de estado

Si la rutina se realiza correctamente, Status se establece en STATUS_SUCCESS y el miembro Information es el número de bytes que escribe la rutina en el búfer de salida.

Si Status está establecido en STATUS_BUFFER_TOO_SMALL, el controlador de audio debe leer el miembro Information para obtener el tamaño del búfer que el autor de la llamada debe asignar para esta solicitud.

Comentarios

Solo se puede llamar a este IOCTL desde el modo kernel.

El controlador de audio envía esta solicitud para obtener información sobre una interfaz de dispositivo de banda lateral audio habilitada. La información no cambia mientras la interfaz está habilitada, pero puede cambiar mientras la interfaz está deshabilitada. El controlador de audio envía esta solicitud poco después de detectar una interfaz de dispositivo de audio de banda lateral habilitada y usa la información para determinar cuántos puntos de conexión de audio de banda lateral están disponibles.

El controlador de audio envía esta solicitud una vez con un tamaño de búfer de salida de cero (0) para determinar el tamaño del búfer de salida necesario. En este caso, la solicitud se completará con Status STATUS_BUFFER_TOO_SMALL y establecerá el miembro Information en el tamaño de búfer necesario. A continuación, el controlador de audio asigna el espacio de almacenamiento necesario y envía la solicitud de nuevo. Normalmente, un controlador de audio almacenará un puntero a esta ubicación de almacenamiento en su contexto de dispositivo como referencia durante la actividad posterior.

A continuación, el controlador de audio puede determinar iterativamente cada funcionalidad de puntos de conexión con el IOCTL_SBAUD_GET_ENDPOINT_DESCRIPTOR IOCTL.

Requisitos

Requisito Valor
Header sidebandaudio.h

Consulte también

sidebandaudio.h

Introducción a los códigos de control de E/S