Struktur URB (usb.h)
Struktur URB digunakan oleh driver klien USB untuk menjelaskan blok permintaan USB (URL) yang mengirim permintaan ke tumpukan driver USB. Struktur URB mendefinisikan format untuk semua kemungkinan perintah yang dapat dikirim ke perangkat USB.
Sintaks
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;
Anggota
UrbHeader
Menyediakan informasi dasar tentang permintaan yang dikirim ke driver pengontrol host. Untuk informasi selengkapnya, lihat _URB_HEADER.
UrbSelectInterface
Menentukan format perintah antarmuka tertentu untuk perangkat USB. Untuk informasi selengkapnya, lihat _URB_SELECT_INTERFACE.
UrbSelectConfiguration
Menentukan format perintah konfigurasi tertentu untuk perangkat USB. Untuk informasi selengkapnya, lihat _URB_SELECT_CONFIGURATION.
UrbPipeRequest
Menentukan format untuk perintah untuk pipa di titik akhir USB. Untuk informasi selengkapnya, lihat _URB_PIPE_REQUEST.
UrbFrameLengthControl
Tidak digunakan lagi di Windows 2000 dan sistem operasi yang lebih baru dan tidak didukung oleh Microsoft. Jangan gunakan.
UrbGetFrameLength
Tidak digunakan lagi di Windows 2000 dan sistem operasi yang lebih baru dan tidak didukung oleh Microsoft. Jangan gunakan.
UrbSetFrameLength
Tidak digunakan lagi di Windows 2000 dan sistem operasi yang lebih baru dan tidak didukung oleh Microsoft. Jangan gunakan.
UrbGetCurrentFrameNumber
Menentukan format untuk perintah untuk mendapatkan nomor bingkai saat ini pada bus USB. Untuk informasi selengkapnya, lihat _URB_GET_CURRENT_FRAME_NUMBER.
UrbControlTransfer
Menentukan format untuk perintah untuk mengirimkan atau menerima data pada pipa kontrol. Untuk informasi selengkapnya, lihat _URB_CONTROL_TRANSFER.
UrbControlTransferEx
Menentukan format untuk perintah untuk mengirimkan atau menerima data pada pipa kontrol. Untuk informasi selengkapnya, lihat _URB_CONTROL_TRANSFER_EX.
Menentukan format untuk perintah untuk mengirimkan atau menerima data pada pipa kontrol.
UrbBulkOrInterruptTransfer
Menentukan format untuk perintah untuk mengirimkan atau menerima data pada pipa massal, atau untuk menerima data dari pipa interupsi. Untuk informasi selengkapnya, lihat _URB_BULK_OR_INTERRUPT_TRANSFER.
UrbIsochronousTransfer
Menentukan format transfer isochronous ke perangkat USB. Untuk informasi selengkapnya, lihat _URB_ISOCH_TRANSFER.
UrbControlDescriptorRequest
Menentukan format untuk perintah untuk mengambil atau mengatur deskriptor pada perangkat USB. Untuk informasi selengkapnya, lihat _URB_CONTROL_DESCRIPTOR_REQUEST.
UrbControlGetStatusRequest
Menentukan format perintah untuk mendapatkan status dari perangkat, antarmuka, atau titik akhir. Untuk informasi selengkapnya, lihat _URB_CONTROL_GET_STATUS_REQUEST.
UrbControlFeatureRequest
Menentukan format untuk perintah untuk mengatur atau menghapus fitur yang ditentukan USB pada perangkat, antarmuka, atau titik akhir. Untuk informasi selengkapnya, lihat _URB_CONTROL_FEATURE_REQUEST.
UrbControlVendorClassRequest
Menentukan format untuk perintah untuk mengirim atau menerima permintaan khusus vendor atau kelas pada perangkat, antarmuka, titik akhir, atau target lain yang ditentukan perangkat. Untuk informasi selengkapnya, lihat _URB_CONTROL_VENDOR_OR_CLASS_REQUEST.
UrbControlGetInterfaceRequest
Menentukan format untuk perintah guna mendapatkan pengaturan antarmuka alternatif saat ini untuk antarmuka yang dipilih. Untuk informasi selengkapnya, lihat _URB_CONTROL_GET_INTERFACE_REQUEST.
UrbControlGetConfigurationRequest
Menentukan format untuk perintah guna mendapatkan konfigurasi saat ini untuk perangkat. Untuk informasi selengkapnya, lihat _URB_CONTROL_GET_CONFIGURATION_REQUEST.
UrbOSFeatureDescriptorRequest
Menentukan format untuk perintah untuk meminta Microsoft OS Descriptor. Untuk informasi selengkapnya, lihat _URB_OS_FEATURE_DESCRIPTOR_REQUEST.
UrbOpenStaticStreams
Menentukan format untuk perintah untuk membuka aliran di titik akhir massal perangkat USB 3.0. Untuk informasi selengkapnya, lihat _URB_OPEN_STATIC_STREAMS dan Cara Membuka dan Menutup Aliran Statis di Titik Akhir Massal USB.
UrbGetIsochPipeTransferPathDelays
Menentukan format untuk perintah untuk mengambil penundaan yang terkait dengan pemrograman transfer isochronous di pengontrol host dan transfer penyelesaian sehingga driver klien dapat memastikan bahwa perangkat mendapatkan paket isochronous pada waktunya. Untuk informasi selengkapnya, lihat _URB_GET_ISOCH_PIPE_TRANSFER_PATH_DELAYS.
Keterangan
Untuk informasi tentang kode fungsi yang akan diatur di setiap struktur, lihat _URB_HEADER.
Persyaratan
Persyaratan | Nilai |
---|---|
Header | usb.h (termasuk Usb.h) |