Estructura URB (usb.h)
Los controladores de cliente USB usan la estructura de URB para describir los bloques de solicitudes USB (URB) que envían solicitudes a la pila del controlador USB. La estructura URB define un formato para todos los comandos posibles que se pueden enviar a un dispositivo USB.
Sintaxis
typedef struct _URB {
union {
#if ...
_URB_HEADER UrbHeader;
#else
struct _URB_HEADER UrbHeader;
#endif
#if ...
_URB_SELECT_INTERFACE UrbSelectInterface;
#else
struct _URB_SELECT_INTERFACE UrbSelectInterface;
#endif
#if ...
_URB_SELECT_CONFIGURATION UrbSelectConfiguration;
#else
struct _URB_SELECT_CONFIGURATION UrbSelectConfiguration;
#endif
#if ...
_URB_PIPE_REQUEST UrbPipeRequest;
#else
struct _URB_PIPE_REQUEST UrbPipeRequest;
#endif
#if ...
_URB_FRAME_LENGTH_CONTROL UrbFrameLengthControl;
#else
struct _URB_FRAME_LENGTH_CONTROL UrbFrameLengthControl;
#endif
#if ...
_URB_GET_FRAME_LENGTH UrbGetFrameLength;
#else
struct _URB_GET_FRAME_LENGTH UrbGetFrameLength;
#endif
#if ...
_URB_SET_FRAME_LENGTH UrbSetFrameLength;
#else
struct _URB_SET_FRAME_LENGTH UrbSetFrameLength;
#endif
#if ...
_URB_GET_CURRENT_FRAME_NUMBER UrbGetCurrentFrameNumber;
#else
struct _URB_GET_CURRENT_FRAME_NUMBER UrbGetCurrentFrameNumber;
#endif
#if ...
_URB_CONTROL_TRANSFER UrbControlTransfer;
#else
struct _URB_CONTROL_TRANSFER UrbControlTransfer;
#endif
#if ...
_URB_CONTROL_TRANSFER_EX UrbControlTransferEx;
#else
struct _URB_CONTROL_TRANSFER_EX UrbControlTransferEx;
#endif
#if ...
_URB_BULK_OR_INTERRUPT_TRANSFER UrbBulkOrInterruptTransfer;
#else
struct _URB_BULK_OR_INTERRUPT_TRANSFER UrbBulkOrInterruptTransfer;
#endif
#if ...
_URB_ISOCH_TRANSFER UrbIsochronousTransfer;
#else
struct _URB_ISOCH_TRANSFER UrbIsochronousTransfer;
#endif
#if ...
_URB_CONTROL_DESCRIPTOR_REQUEST UrbControlDescriptorRequest;
#else
struct _URB_CONTROL_DESCRIPTOR_REQUEST UrbControlDescriptorRequest;
#endif
#if ...
_URB_CONTROL_GET_STATUS_REQUEST UrbControlGetStatusRequest;
#else
struct _URB_CONTROL_GET_STATUS_REQUEST UrbControlGetStatusRequest;
#endif
#if ...
_URB_CONTROL_FEATURE_REQUEST UrbControlFeatureRequest;
#else
struct _URB_CONTROL_FEATURE_REQUEST UrbControlFeatureRequest;
#endif
#if ...
_URB_CONTROL_VENDOR_OR_CLASS_REQUEST UrbControlVendorClassRequest;
#else
struct _URB_CONTROL_VENDOR_OR_CLASS_REQUEST UrbControlVendorClassRequest;
#endif
#if ...
_URB_CONTROL_GET_INTERFACE_REQUEST UrbControlGetInterfaceRequest;
#else
struct _URB_CONTROL_GET_INTERFACE_REQUEST UrbControlGetInterfaceRequest;
#endif
#if ...
_URB_CONTROL_GET_CONFIGURATION_REQUEST UrbControlGetConfigurationRequest;
#else
struct _URB_CONTROL_GET_CONFIGURATION_REQUEST UrbControlGetConfigurationRequest;
#endif
#if ...
_URB_OS_FEATURE_DESCRIPTOR_REQUEST UrbOSFeatureDescriptorRequest;
#else
struct _URB_OS_FEATURE_DESCRIPTOR_REQUEST UrbOSFeatureDescriptorRequest;
#endif
#if ...
_URB_OPEN_STATIC_STREAMS UrbOpenStaticStreams;
#else
struct _URB_OPEN_STATIC_STREAMS UrbOpenStaticStreams;
#endif
#if ...
_URB_GET_ISOCH_PIPE_TRANSFER_PATH_DELAYS UrbGetIsochPipeTransferPathDelays;
#else
struct _URB_GET_ISOCH_PIPE_TRANSFER_PATH_DELAYS UrbGetIsochPipeTransferPathDelays;
#endif
};
} URB, *PURB;
Miembros
UrbHeader
Proporciona información básica sobre la solicitud que se envía al controlador del controlador del host. Para obtener más información, vea _URB_HEADER.
UrbSelectInterface
Define el formato de un comando select interface para un dispositivo USB. Para obtener más información, vea _URB_SELECT_INTERFACE.
UrbSelectConfiguration
Define el formato de un comando de configuración select para un dispositivo USB. Para obtener más información, vea _URB_SELECT_CONFIGURATION.
UrbPipeRequest
Define el formato de un comando para una canalización en un punto de conexión USB. Para obtener más información, vea _URB_PIPE_REQUEST.
UrbFrameLengthControl
Está en desuso en los sistemas operativos Windows 2000 y versiones posteriores y no es compatible con Microsoft. No use.
UrbGetFrameLength
Está en desuso en los sistemas operativos Windows 2000 y versiones posteriores y no es compatible con Microsoft. No use.
UrbSetFrameLength
Está en desuso en los sistemas operativos Windows 2000 y versiones posteriores y no es compatible con Microsoft. No use.
UrbGetCurrentFrameNumber
Define el formato de un comando para obtener el número de fotograma actual en un bus USB. Para obtener más información, vea _URB_GET_CURRENT_FRAME_NUMBER.
UrbControlTransfer
Define el formato de un comando para transmitir o recibir datos en una canalización de control. Para obtener más información, vea _URB_CONTROL_TRANSFER.
UrbControlTransferEx
Define el formato de un comando para transmitir o recibir datos en una canalización de control. Para obtener más información, vea _URB_CONTROL_TRANSFER_EX.
Define el formato de un comando para transmitir o recibir datos en una canalización de control.
UrbBulkOrInterruptTransfer
Define el formato de un comando para transmitir o recibir datos en una canalización masiva o para recibir datos de una canalización de interrupción. Para obtener más información, vea _URB_BULK_OR_INTERRUPT_TRANSFER.
UrbIsochronousTransfer
Define el formato de una transferencia isócrónica a un dispositivo USB. Para obtener más información, vea _URB_ISOCH_TRANSFER.
UrbControlDescriptorRequest
Define el formato de un comando para recuperar o establecer descriptores en un dispositivo USB. Para obtener más información, vea _URB_CONTROL_DESCRIPTOR_REQUEST.
UrbControlGetStatusRequest
Define el formato de un comando para obtener el estado de un dispositivo, una interfaz o un punto de conexión. Para obtener más información, consulte _URB_CONTROL_GET_STATUS_REQUEST.
UrbControlFeatureRequest
Define el formato de un comando para establecer o borrar las características definidas por USB en un dispositivo, interfaz o punto de conexión. Para obtener más información, vea _URB_CONTROL_FEATURE_REQUEST.
UrbControlVendorClassRequest
Define el formato de un comando para enviar o recibir una solicitud específica de proveedor o clase en un dispositivo, interfaz, punto de conexión u otro destino definido por el dispositivo. Para obtener más información, vea _URB_CONTROL_VENDOR_OR_CLASS_REQUEST.
UrbControlGetInterfaceRequest
Define el formato de un comando para obtener la configuración de interfaz alternativa actual para una interfaz seleccionada. Para obtener más información, vea _URB_CONTROL_GET_INTERFACE_REQUEST.
UrbControlGetConfigurationRequest
Define el formato de un comando para obtener la configuración actual de un dispositivo. Para obtener más información, vea _URB_CONTROL_GET_CONFIGURATION_REQUEST.
UrbOSFeatureDescriptorRequest
Define el formato de un comando para solicitar un descriptor de so de Microsoft. Para obtener más información, vea _URB_OS_FEATURE_DESCRIPTOR_REQUEST.
UrbOpenStaticStreams
Define el formato de un comando para abrir secuencias en un punto de conexión masivo de un dispositivo USB 3.0. Para obtener más información, vea _URB_OPEN_STATIC_STREAMS y Cómo abrir y cerrar secuencias estáticas en un punto de conexión masivo USB.
UrbGetIsochPipeTransferPathDelays
Define el formato de un comando para recuperar retrasos asociados con la programación de transferencia isócrónica en el controlador host y la finalización de transferencia para que el controlador cliente pueda asegurarse de que el dispositivo obtiene los paquetes isócronos en el tiempo. Para obtener más información, vea _URB_GET_ISOCH_PIPE_TRANSFER_PATH_DELAYS.
Observaciones
Para obtener información sobre los códigos de función que se van a establecer en cada estructura, vea _URB_HEADER.
Requisitos
Requisito | Valor |
---|---|
encabezado de | usb.h (incluya Usb.h) |