IOCTL_USB_GET_TRANSPORT_CHARACTERISTICS IOCTL (usbioctl.h)
El controlador cliente envía esta solicitud para recuperar las características de transporte.
Código principal
Búfer de entrada y salida
El miembro AssociatedIrp.SystemBuffer es un puntero a una estructura de USB_TRANSPORT_CHARACTERISTICS asignada por el autor de la llamada. En la entrada, establezca Versión en USB_TRANSPORT_CHARACTERISTICS_VERSION_1. En la versión de salida se restablece a una versión menor o igual que USB_TRANSPORT_CHARACTERISTICS_VERSION_1; el resto de miembros de la estructura está lleno de información de transporte.
Longitud del búfer de entrada y salida
Tamaño de la estructura de USB_TRANSPORT_CHARACTERISTICS .
Bloque de estado
Irp->IoStatus.Status se establece en STATUS_SUCCESS si la solicitud se realiza correctamente. De lo contrario, estado de la condición de error adecuada como código NTSTATUS .
Comentarios
Esta solicitud recupera las características de transporte para decidir un algoritmo para el streaming. Por ejemplo, un controlador de pantalla puede usar la información de latencia y ancho de banda para decidir su selección de códec.
Es posible que esta información no esté siempre disponible. La pila del controlador USB depende del transporte subyacente para exponer estos valores. Por lo tanto, el controlador cliente debe tener un mecanismo de copia de seguridad para tales casos en los que la solicitud.
Si el controlador cliente está interesado en conocer la información más reciente en todo momento, el controlador debe registrarse para recibir notificaciones cuando cambien las características de transporte, mantener una solicitud pendiente con la pila del controlador USB y anular el registro cuando la notificación ya no sea necesaria. El controlador puede realizar todas esas tareas enviando estas solicitudes IOCTL.
- IOCTL_USB_REGISTER_FOR_TRANSPORT_CHARACTERISTICS_CHANGE
- IOCTL_USB_NOTIFY_ON_TRANSPORT_CHARACTERISTICS_CHANGE
- IOCTL_USB_UNREGISTER_FOR_TRANSPORT_CHARACTERISTICS_CHANGE
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | Windows 10, versión 1709 |
Servidor mínimo compatible | Windows Server 2016 |
Encabezado | usbioctl.h |
IRQL | <=DISPATCH_LEVEL |
Consulte también
Creación de solicitudes IOCTL en controladores
Controladores de cliente USB para Media-Agnostic (MA-USB)
WdfIoTargetSendInternalIoctlOthersSynchronously