Bagikan melalui


struktur _URB_SELECT_CONFIGURATION (usb.h)

Struktur _URB_SELECT_CONFIGURATION digunakan oleh driver klien untuk memilih konfigurasi untuk perangkat USB.

Sintaks

struct _URB_SELECT_CONFIGURATION {
  struct _URB_HEADER            Hdr;
  PUSB_CONFIGURATION_DESCRIPTOR ConfigurationDescriptor;
  USBD_CONFIGURATION_HANDLE     ConfigurationHandle;
  USBD_INTERFACE_INFORMATION    Interface;
};

Anggota

Hdr

Penunjuk ke struktur _URB_HEADER yang menentukan informasi header URB. Hdr.Function harus URB_FUNCTION_SELECT_CONFIGURATION, dan Hdr.Length harus berukuran seluruh URB. Driver dapat menggunakan makro GET_SELECT_CONFIGURATION_REQUEST_SIZE yang ditentukan dalam usbdlib.h untuk mendapatkan ukuran URB.

ConfigurationDescriptor

Arahkan ke deskriptor konfigurasi USB yang diinisialisasi yang mengidentifikasi konfigurasi yang akan digunakan pada perangkat. Jika anggota ini ADALAH NULL, perangkat akan diatur ke status tidak dikonfigurasi.

ConfigurationHandle

Berisi handel yang digunakan untuk mengakses konfigurasi ini saat kembali dari driver pengontrol host. Driver klien USB harus memperlakukan anggota ini sebagai buram.

Interface

Menentukan array panjang variabel dari struktur USBD_INTERFACE_INFORMATION , masing-masing menjelaskan antarmuka yang didukung oleh konfigurasi yang dipilih.

Sebelum permintaan dikirim ke driver pengontrol host, driver dapat memilih pengaturan alternatif untuk satu atau beberapa antarmuka yang terkandung dalam array ini dengan mengatur anggota struktur USBD_INTERFACE_INFORMATION untuk antarmuka tersebut.

Saat kembali dari driver pengontrol host, anggota ini berisi struktur USBD_INTERFACE_INFORMATION dengan data yang menjelaskan kemampuan dan format titik akhir dalam antarmuka tersebut.

Keterangan

URB URB_FUNCTION_SELECT_CONFIGURATION terdiri dari struktur _URB_SELECT_CONFIGURATION diikuti dengan urutan array panjang variabel struktur USBD_INTERFACE_INFORMATION , setiap elemen dalam array untuk setiap nomor antarmuka unik dalam konfigurasi. Driver klien harus mengalokasikan memori yang cukup untuk berisi satu struktur USBD_PIPE_INFORMATION untuk setiap titik akhir di antarmuka yang dipilih.

Driver dapat menggunakan rutinitas layanan USBD_CreateConfigurationRequestEx untuk mengalokasikan URB.

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

Persyaratan

Persyaratan Nilai
Header usb.h (termasuk Usb.h)

Lihat juga

URB

Struktur USB

USBD_CreateConfigurationRequestEx

USBD_INTERFACE_INFORMATION

USBD_PIPE_INFORMATION

_URB_HEADER