estructura _URB_CONTROL_FEATURE_REQUEST (usb.h)
Los controladores de cliente USB usan la estructura _URB_CONTROL_FEATURE_REQUEST para establecer o borrar características en un dispositivo, una interfaz o un punto de conexión.
Sintaxis
struct _URB_CONTROL_FEATURE_REQUEST {
struct _URB_HEADER Hdr;
PVOID Reserved;
ULONG Reserved2;
ULONG Reserved3;
PVOID Reserved4;
PMDL Reserved5;
struct _URB *UrbLink;
struct _URB_HCD_AREA hca;
USHORT Reserved0;
USHORT FeatureSelector;
USHORT Index;
USHORT Reserved1;
};
Miembros
Hdr
Puntero a una estructura de _URB_HEADER que especifica la información del encabezado URB. Hdr.Function indica un conjunto o una operación de característica clara, que se va a realizar en un dispositivo, una interfaz, un punto de conexión u otro componente no estándar. Hdr.Function debe tener uno de los siguientes valores:
Hdr.Length debe ser igual a sizeof(_URB_CONTROL_FEATURE_REQUEST)
.
Reserved
Reservado. No utilizar.
Reserved2
Reservado. No utilizar.
Reserved3
Reservado. No utilizar.
Reserved4
Reservado. No utilizar.
Reserved5
Reservado. No utilizar.
UrbLink
Reservado. No utilizar.
hca
Reservado. No utilizar.
Reserved0
Reservado. No utilizar.
FeatureSelector
Especifica el código de característica definido por USB que se va a borrar o establecer. El uso de un código de característica no válido, no se puede establecer o no se puede borrar hará que el destino se detenga. El controlador de bus copiará el valor del miembro FeatureSelector en el campo wValue del paquete de instalación.
Index
Especifica el índice definido por el dispositivo, devuelto por una solicitud de configuración correcta, si la solicitud es para un punto de conexión o una interfaz. De lo contrario, Index debe ser cero. El controlador de bus copiará el valor del miembro Index en el campo wIndex del paquete de instalación.
Reserved1
Reservado. No utilizar.
Comentarios
Los controladores pueden usar la rutina de servicio UsbBuildFeatureRequest para dar formato a este URB.
Los miembros reservados de esta estructura deben tratarse como opacos y están reservados para el uso del sistema.
Cuando un controlador arma un dispositivo USB para reactivación remota con una solicitud de IRP_MN_WAIT_WAKE, el controlador de bus USB establece automáticamente la característica de reactivación remota en el dispositivo. No es necesario un URB de característica de control.
Del mismo modo, cuando un controlador emite un URB con un tipo de función de URB_FUNCTION_SYNC_RESET_PIPE_AND_CLEAR_STALL a una canalización, el controlador de autobús borrará automáticamente la característica de parada del punto de conexión de la tubería. El controlador no tiene que enviar un URB de característica de control a la canalización para borrar el punto de conexión.
Requisitos
Requisito | Valor |
---|---|
Header | usb.h (incluye Usb.h) |