Struttura DI MAPPING (usb.h)

La struttura ODBC viene usata dai driver client USB per descrivere i blocchi di richiesta USB (URB) che inviano richieste allo stack di driver USB. La struttura URB definisce un formato per tutti i comandi possibili che possono essere inviati a un dispositivo USB.

Sintassi

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;

Members

UrbHeader

Fornisce informazioni di base sulla richiesta inviata al driver del controller host. Per altre informazioni, vedere _URB_HEADER.

UrbSelectInterface

Definisce il formato di un comando di interfaccia seleziona per un dispositivo USB. Per altre informazioni, vedere _URB_SELECT_INTERFACE.

UrbSelectConfiguration

Definisce il formato di un comando di configurazione seleziona per un dispositivo USB. Per altre informazioni, vedere _URB_SELECT_CONFIGURATION.

UrbPipeRequest

Definisce il formato per un comando per una pipe in un endpoint USB. Per altre informazioni, vedere _URB_PIPE_REQUEST.

UrbFrameLengthControl

Deprecato nei sistemi operativi Windows 2000 e versioni successive e non è supportato da Microsoft. Non usare.

UrbGetFrameLength

Deprecato nei sistemi operativi Windows 2000 e versioni successive e non è supportato da Microsoft. Non usare.

UrbSetFrameLength

Deprecato nei sistemi operativi Windows 2000 e versioni successive e non è supportato da Microsoft. Non usare.

UrbGetCurrentFrameNumber

Definisce il formato per un comando per ottenere il numero di frame corrente in un bus USB. Per altre informazioni, vedere _URB_GET_CURRENT_FRAME_NUMBER.

UrbControlTransfer

Definisce il formato per un comando per trasmettere o ricevere dati in una pipe di controllo. Per altre informazioni, vedere _URB_CONTROL_TRANSFER.

UrbControlTransferEx

Definisce il formato per un comando per trasmettere o ricevere dati in una pipe di controllo. Per altre informazioni, vedere _URB_CONTROL_TRANSFER_EX.

Definisce il formato per un comando per trasmettere o ricevere dati in una pipe di controllo.

UrbBulkOrInterruptTransfer

Definisce il formato per un comando per trasmettere o ricevere dati in una pipe bulk o per ricevere dati da una pipe di interruzione. Per altre informazioni, vedere _URB_BULK_OR_INTERRUPT_TRANSFER.

UrbIsochronousTransfer

Definisce il formato di un trasferimento isochronoo a un dispositivo USB. Per altre informazioni, vedere _URB_ISOCH_TRANSFER.

UrbControlDescriptorRequest

Definisce il formato per un comando per recuperare o impostare descrittori in un dispositivo USB. Per altre informazioni, vedere _URB_CONTROL_DESCRIPTOR_REQUEST.

UrbControlGetStatusRequest

Definisce il formato per un comando per ottenere lo stato da un dispositivo, un'interfaccia o un endpoint. Per altre informazioni, vedere _URB_CONTROL_GET_STATUS_REQUEST.

UrbControlFeatureRequest

Definisce il formato per un comando per impostare o cancellare le funzionalità definite da USB in un dispositivo, un'interfaccia o un endpoint. Per altre informazioni, vedere _URB_CONTROL_FEATURE_REQUEST.

UrbControlVendorClassRequest

Definisce il formato per un comando da inviare o ricevere una richiesta specifica del fornitore o della classe in un dispositivo, un'interfaccia, un endpoint o un'altra destinazione definita dal dispositivo. Per altre informazioni, vedere _URB_CONTROL_VENDOR_OR_CLASS_REQUEST.

UrbControlGetInterfaceRequest

Definisce il formato per un comando per ottenere l'impostazione dell'interfaccia alternativa corrente per un'interfaccia selezionata. Per altre informazioni, vedere _URB_CONTROL_GET_INTERFACE_REQUEST.

UrbControlGetConfigurationRequest

Definisce il formato per un comando per ottenere la configurazione corrente per un dispositivo. Per altre informazioni, vedere _URB_CONTROL_GET_CONFIGURATION_REQUEST.

UrbOSFeatureDescriptorRequest

Definisce il formato per un comando per richiedere un descrittore del sistema operativo Microsoft. Per altre informazioni, vedere _URB_OS_FEATURE_DESCRIPTOR_REQUEST.

UrbOpenStaticStreams

Definisce il formato per un comando per aprire i flussi in un endpoint bulk di un dispositivo USB 3.0. Per altre informazioni, vedere _URB_OPEN_STATIC_STREAMSe Come aprire e chiudere i flussi statici in un endpoint bulk USB.

UrbGetIsochPipeTransferPathDelays

Definisce il formato per un comando per recuperare ritardi associati alla programmazione di trasferimento isochronous nel controller host e al completamento del trasferimento in modo che il driver client possa garantire che il dispositivo ottenga i pacchetti isochronous in tempo. Per altre informazioni, vedere _URB_GET_ISOCH_PIPE_TRANSFER_PATH_DELAYS.

Commenti

Per informazioni sui codici di funzione da impostare in ogni struttura, vedere _URB_HEADER.

Requisiti

Requisito Valore
Intestazione usb.h (include Usb.h)

Vedi anche

IOCTL_INTERNAL_USB_SUBMIT_URB

Strutture USB