WinUsb_QueryPipe (winusb.h)
Fungsi WinUsb_QueryPipe mengambil informasi tentang titik akhir yang ditentukan dan pipa terkait untuk antarmuka.
Sintaks
BOOL WinUsb_QueryPipe(
[in] WINUSB_INTERFACE_HANDLE InterfaceHandle,
[in] UCHAR AlternateInterfaceNumber,
[in] UCHAR PipeIndex,
[out] PWINUSB_PIPE_INFORMATION PipeInformation
);
Parameter
[in] InterfaceHandle
Handel buram ke antarmuka yang berisi titik akhir tempat pipa dikaitkan.
Untuk mengkueri pipa yang terkait dengan titik akhir di antarmuka pertama, gunakan handel yang dikembalikan oleh WinUsb_Initialize. Untuk semua antarmuka lainnya, gunakan handel ke antarmuka target, yang diambil oleh WinUsb_GetAssociatedInterface.
[in] AlternateInterfaceNumber
Nilai yang menentukan antarmuka alternatif untuk mengembalikan informasi.
[in] PipeIndex
Nilai yang menentukan pipa untuk mengembalikan informasi tentang. Nilai ini tidak sama dengan bidang bEndpointAddress di deskriptor titik akhir. Nilai PipeIndex 0 menandakan titik akhir pertama yang terkait dengan antarmuka, nilai 1 menandakan titik akhir kedua, dan sebagainya. PipeIndex harus kurang dari nilai di bidang bNumEndpoints dari deskriptor antarmuka.
[out] PipeInformation
Pointer, pada output, ke struktur WINUSB_PIPE_INFORMATION yang dialokasikan pemanggil yang berisi informasi pipa.
Mengembalikan nilai
WinUsb_QueryPipe mengembalikan TRUE jika operasi berhasil. Jika tidak, fungsi ini mengembalikan FALSE, dan pemanggil dapat mengambil kesalahan yang dicatat dengan memanggil GetLastError.
GetLastError dapat mengembalikan kode kesalahan berikut.
Menampilkan kode | Deskripsi |
---|---|
|
Pemanggil melewati NULL dalam parameter InterfaceHandle . |
|
Penelepon melewati NULL dalam parameter PipeInformation ; deskriptor antarmuka tidak dapat ditemukan untuk handel yang ditentukan dalam InterfaceHandle. |
|
Nilai yang diteruskan dalam parameter PipeIndex lebih besar dari nilai bNumEndpoints dari deskriptor antarmuka; deskriptor titik akhir tidak dapat ditemukan untuk antarmuka yang ditentukan. |
Keterangan
Fungsi WinUsb_QueryPipe tidak mengambil informasi tentang pipa kontrol.
Setiap antarmuka pada perangkat USB dapat memiliki beberapa titik akhir. Untuk berkomunikasi dengan masing-masing titik akhir ini, driver bus membuat pipa untuk setiap titik akhir pada antarmuka. Indeks pipa berbasis nol. Oleh karena itu untuk n jumlah titik akhir, indeks pipa diatur dari n-1. WinUsb_QueryPipe mengurai pendeskripsi konfigurasi untuk mendapatkan antarmuka yang ditentukan oleh pemanggil. Ini mencari deskriptor antarmuka untuk deskriptor titik akhir yang terkait dengan pipa yang ditentukan pemanggil. Jika titik akhir ditemukan, fungsi mengisi struktur WINUSB_PIPE_INFORMATION yang dialokasikan pemanggil dengan informasi dari pendeskripsi titik akhir.
Persyaratan
Persyaratan | Nilai |
---|---|
Target Platform | Universal |
Header | winusb.h (termasuk Winusb.h) |
Pustaka | Winusb.lib |
DLL | Winusb.dll |