struktur USB_CONFIGURATION_DESCRIPTOR (usbspec.h)

Struktur USB_CONFIGURATION_DESCRIPTOR digunakan oleh driver klien USB untuk menyimpan deskriptor konfigurasi yang ditentukan USB. Anggota struktur ini dijelaskan dalam Spesifikasi Universal Serial Bus 3.1 yang tersedia di USB Document Library. Lihat bagian 9.6.3.

Sintaks

typedef struct _USB_CONFIGURATION_DESCRIPTOR {
  UCHAR  bLength;
  UCHAR  bDescriptorType;
  USHORT wTotalLength;
  UCHAR  bNumInterfaces;
  UCHAR  bConfigurationValue;
  UCHAR  iConfiguration;
  UCHAR  bmAttributes;
  UCHAR  MaxPower;
} USB_CONFIGURATION_DESCRIPTOR, *PUSB_CONFIGURATION_DESCRIPTOR;

Anggota

bLength

Menentukan panjang, dalam byte, dari struktur ini.

bDescriptorType

Menentukan jenis deskriptor. Harus diatur ke USB_CONFIGURATION_DESCRIPTOR_TYPE.

wTotalLength

Menentukan panjang total, dalam byte, dari semua data untuk konfigurasi. Panjangnya mencakup semua antarmuka, titik akhir, kelas, atau deskriptor khusus vendor yang dikembalikan dengan deskriptor konfigurasi.

bNumInterfaces

Menentukan jumlah total antarmuka yang didukung oleh konfigurasi ini.

bConfigurationValue

Berisi nilai yang digunakan untuk memilih konfigurasi. Nilai ini diteruskan ke permintaan USB SetConfiguration , seperti yang dijelaskan dalam versi 1.1 dari Spesifikasi Universal Serial Bus. Driver port saat ini tidak mengekspos layanan yang memungkinkan driver tingkat lebih tinggi untuk mengatur konfigurasi.

iConfiguration

Menentukan indeks deskriptor string yang ditentukan perangkat untuk konfigurasi ini.

bmAttributes

Menentukan bitmap untuk menjelaskan perilaku konfigurasi ini. Bit dijelaskan dan diatur dalam urutan little-endian.

Bit Makna
0 - 4 Dicadangkan.
5 Konfigurasi mendukung wakeup jarak jauh.
6 Konfigurasi ini didukung sendiri dan tidak menggunakan daya dari bus.
7 Konfigurasi didukung oleh bus.

MaxPower

Menentukan persyaratan daya perangkat ini dalam unit dua miliampere. Anggota ini hanya berlaku jika bit tujuh diatur dalam bmAttributes.

Keterangan

Jika wTotalLength lebih besar dari ukuran buffer yang disediakan dalam URB untuk menahan semua deskriptor yang diambil (antarmuka, titik akhir, kelas, dan yang ditentukan vendor), data yang tidak lengkap akan dikembalikan. Untuk mengambil deskriptor lengkap, permintaan harus dikirim ulang dengan buffer yang lebih besar.

Jika bmAttributes bits enam dan tujuh keduanya diatur, maka perangkat didukung baik oleh bus maupun oleh sumber eksternal ke bus.

Anggota lain yang merupakan bagian dari struktur ini tetapi tidak dijelaskan di sini harus diperlakukan sebagai buram dan dianggap dicadangkan untuk penggunaan sistem.

Persyaratan

Persyaratan Nilai
Header usbspec.h (termasuk Usb100.h)

Lihat juga

Struktur USB

USBD_CreateConfigurationRequest

UsbBuildGetDescriptorRequest