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)

Consulte también

URB

Estructuras USB

_URB_HEADER