Share via


estructura USB_DESCRIPTOR_REQUEST (usbioctl.h)

La estructura USB_DESCRIPTOR_REQUEST se usa con la solicitud de control de E/S IOCTL_USB_GET_DESCRIPTOR_FROM_NODE_CONNECTION para recuperar uno o varios descriptores para el dispositivo asociado al índice de conexión indicado. Los campos de esta estructura se describen en la especificación Universal Serial Bus 3.1 disponible en la biblioteca de documentos USB.

Sintaxis

typedef struct _USB_DESCRIPTOR_REQUEST {
  ULONG  ConnectionIndex;
  struct {
    UCHAR  bmRequest;
    UCHAR  bRequest;
    USHORT wValue;
    USHORT wIndex;
    USHORT wLength;
  } SetupPacket;
  UCHAR  Data[0];
} USB_DESCRIPTOR_REQUEST, *PUSB_DESCRIPTOR_REQUEST;

Miembros

ConnectionIndex

Puerto cuyos descriptores se recuperan.

SetupPacket

Los miembros de la estructura SetupPacket definidas según la especificación oficial. Consulte la sección 9.3.

SetupPacket.bmRequest

Tipo de solicitud de dispositivo USB (estándar, clase o proveedor), la dirección de la transferencia de datos y el tipo de destinatario de datos (dispositivo, interfaz o punto de conexión). En la entrada de la solicitud de control de E/S de IOCTL_USB_GET_DESCRIPTOR_FROM_NODE_CONNECTION , la pila USB omite el valor de bmRequest e inserta un valor de 0x80. Este valor indica una solicitud de dispositivo USB estándar y una transferencia de datos de dispositivo a host.

SetupPacket.bRequest

Número de solicitud. En la entrada de la solicitud de control de E/S de IOCTL_USB_GET_DESCRIPTOR_FROM_NODE_CONNECTION , la pila USB omite el valor de bRequest e inserta un valor de 0x06. Este valor indica una solicitud de GET_DESCRIPTOR.

SetupPacket.wValue

En la entrada de la solicitud de control de E/S de IOCTL_USB_GET_DESCRIPTOR_FROM_NODE_CONNECTION , el autor de la llamada debe especificar el tipo de descriptor que se va a recuperar en el byte alto de wValue y el índice del descriptor en el byte bajo. En la tabla siguiente se enumeran los posibles tipos de descriptores. Estos tipos de constantes se definen en el encabezado Usbspec.h incluido en el Kit de controladores de Windows.

Tipo de descriptor Significado
USB_DEVICE_DESCRIPTOR_TYPE Indica a la pila USB que devuelva el descriptor del dispositivo.
USB_CONFIGURATION_DESCRIPTOR_TYPE Indica a la pila USB que devuelva el descriptor de configuración y todas las interfaces, puntos de conexión, específicos de clase y descriptores específicos del proveedor asociados a la configuración actual.
USB_STRING_DESCRIPTOR_TYPE Indica a la pila USB que devuelva el descriptor de cadena indicado.
USB_INTERFACE_DESCRIPTOR_TYPE Indica a la pila USB que devuelva el descriptor de interfaz indicado.
USB_ENDPOINT_DESCRIPTOR_TYPE Indica a la pila USB que devuelva el descriptor de punto de conexión indicado.

SetupPacket.wIndex

Índice específico del dispositivo del descriptor que se va a recuperar.

SetupPacket.wLength

Longitud de los datos que se transfieren durante la segunda fase de la transferencia de control.

Data[0]

En la salida de la solicitud de control de E/S de IOCTL_USB_GET_DESCRIPTOR_FROM_NODE_CONNECTION , este miembro contiene los descriptores recuperados.

Comentarios

Si el autor de la llamada especifica un valor de USB_CONFIGURATION_DESCRIPTOR_TYPE en el miembro wValue , el búfer de salida debe ser lo suficientemente grande como para contener todos los descriptores asociados a la configuración actual o se producirá un error en la solicitud.

Requisitos

Requisito Valor
Header usbioctl.h (incluya Usbioctl.h)

Consulte también

IOCTL_USB_GET_DESCRIPTOR_FROM_NODE_CONNECTION

Estructuras USB