-typedef struct _URB
-{
- __GNU_EXTENSION union
- {
- struct _URB_HEADER
- UrbHeader;
- struct _URB_SELECT_INTERFACE
- UrbSelectInterface;
- struct _URB_SELECT_CONFIGURATION
- UrbSelectConfiguration;
- struct _URB_PIPE_REQUEST
- UrbPipeRequest;
- struct _URB_FRAME_LENGTH_CONTROL
- UrbFrameLengthControl;
- struct _URB_GET_FRAME_LENGTH
- UrbGetFrameLength;
- struct _URB_SET_FRAME_LENGTH
- UrbSetFrameLength;
- struct _URB_GET_CURRENT_FRAME_NUMBER
- UrbGetCurrentFrameNumber;
- struct _URB_CONTROL_TRANSFER
- UrbControlTransfer;
- struct _URB_BULK_OR_INTERRUPT_TRANSFER
- UrbBulkOrInterruptTransfer;
- struct _URB_ISOCH_TRANSFER
- UrbIsochronousTransfer;
- struct _URB_CONTROL_DESCRIPTOR_REQUEST
- UrbControlDescriptorRequest;
- struct _URB_CONTROL_GET_STATUS_REQUEST
- UrbControlGetStatusRequest;
- struct _URB_CONTROL_FEATURE_REQUEST
- UrbControlFeatureRequest;
- struct _URB_CONTROL_VENDOR_OR_CLASS_REQUEST
- UrbControlVendorClassRequest;
- struct _URB_CONTROL_GET_INTERFACE_REQUEST
- UrbControlGetInterfaceRequest;
- struct _URB_CONTROL_GET_CONFIGURATION_REQUEST
- UrbControlGetConfigurationRequest;
- struct _URB_OS_FEATURE_DESCRIPTOR_REQUEST
- UrbOSFeatureDescriptorRequest;
- };
+typedef struct _URB {
+ __GNU_EXTENSION union {
+ struct _URB_HEADER UrbHeader;
+ struct _URB_SELECT_INTERFACE UrbSelectInterface;
+ struct _URB_SELECT_CONFIGURATION UrbSelectConfiguration;
+ struct _URB_PIPE_REQUEST UrbPipeRequest;
+ struct _URB_FRAME_LENGTH_CONTROL UrbFrameLengthControl;
+ struct _URB_GET_FRAME_LENGTH UrbGetFrameLength;
+ struct _URB_SET_FRAME_LENGTH UrbSetFrameLength;
+ struct _URB_GET_CURRENT_FRAME_NUMBER UrbGetCurrentFrameNumber;
+ struct _URB_CONTROL_TRANSFER UrbControlTransfer;
+#if (_WIN32_WINNT >= 0x0600)
+ struct _URB_CONTROL_TRANSFER_EX UrbControlTransferEx;
+#endif
+ struct _URB_BULK_OR_INTERRUPT_TRANSFER UrbBulkOrInterruptTransfer;
+ struct _URB_ISOCH_TRANSFER UrbIsochronousTransfer;
+ struct _URB_CONTROL_DESCRIPTOR_REQUEST UrbControlDescriptorRequest;
+ struct _URB_CONTROL_GET_STATUS_REQUEST UrbControlGetStatusRequest;
+ struct _URB_CONTROL_FEATURE_REQUEST UrbControlFeatureRequest;
+ struct _URB_CONTROL_VENDOR_OR_CLASS_REQUEST UrbControlVendorClassRequest;
+ struct _URB_CONTROL_GET_INTERFACE_REQUEST UrbControlGetInterfaceRequest;
+ struct _URB_CONTROL_GET_CONFIGURATION_REQUEST UrbControlGetConfigurationRequest;
+#if (_WIN32_WINNT >= 0x0501)
+ struct _URB_OS_FEATURE_DESCRIPTOR_REQUEST UrbOSFeatureDescriptorRequest;
+#endif
+ };