USBD_ParseDescriptors (usbdlib.h)
USBD_ParseDescriptors rutin mencari pendeskripsi konfigurasi tertentu dan mengembalikan penunjuk ke deskriptor pertama yang cocok dengan kriteria pencarian.
Sintaks
PUSB_COMMON_DESCRIPTOR USBD_ParseDescriptors(
[in] PVOID DescriptorBuffer,
[in] ULONG TotalLength,
[in] PVOID StartPosition,
[in] LONG DescriptorType
);
Parameter
[in] DescriptorBuffer
Penunjuk ke deskriptor konfigurasi yang berisi deskriptor yang akan dicari.
[in] TotalLength
Menentukan ukuran, dalam byte, dari buffer yang ditunjukkan oleh DescriptorBuffer.
[in] StartPosition
Arahkan ke alamat dalam deskriptor konfigurasi, disediakan di DescriptorBuffer, untuk mulai mencari. Untuk mencari dari awal deskriptor konfigurasi, parameter DescriptorBuffer dan StartPosition harus alamat yang sama.
[in] DescriptorType
Menentukan kode jenis deskriptor seperti yang ditetapkan oleh USB. Nilai berikut ini valid untuk jenis deskriptor yang ditentukan USB:
USB_STRING_DESCRIPTOR_TYPE
Menentukan bahwa deskriptor yang sedang dicari adalah pendeskripsi string.
USB_INTERFACE_DESCRIPTOR_TYPE
Menentukan bahwa deskriptor yang sedang dicari adalah pendeskripsi antarmuka.
USB_ENDPOINT_DESCRIPTOR_TYPE
Menentukan bahwa deskriptor yang sedang dicari adalah deskriptor titik akhir.
Nilai kembali
USBD_ParseDescriptors mengembalikan penunjuk ke struktur USB_COMMON_DESCRIPTOR yang merupakan kepala deskriptor pertama yang cocok dengan kriteria pencarian yang diberikan, atau NULL dikembalikan jika tidak ada kecocokan yang ditemukan:
Keterangan
Struktur ini digunakan untuk menyimpan sebagian deskriptor, sehingga pemanggil USBD_ParseDescriptors dapat menentukan struktur yang benar untuk digunakan untuk mengakses data yang tersisa dalam deskriptor. Setiap jenis deskriptor memiliki bidang ini di awal data dan pemanggil dapat menggunakan anggota bLength dan bDescriptorType untuk mengidentifikasi jenis deskriptor ini dengan benar.
Ketika rutinitas ini mengurai deskriptor konfigurasi mencari deskriptor yang cocok dengan kriteria pencarian, ia mengembalikan kecocokan pertama, mengakhiri pencarian.
Persyaratan
Persyaratan | Nilai |
---|---|
Target Platform | Universal |
Header | usbdlib.h (termasuk Usbdlib.h) |
Pustaka | Usbd.lib |
IRQL | < DISPATCH_LEVEL |