fungsi WinUsb_SetPipePolicy (winusb.h)
Fungsi WinUsb_SetPipePolicy menetapkan kebijakan untuk pipa tertentu yang terkait dengan titik akhir pada perangkat. Ini adalah operasi sinkron.
Sintaks
BOOL WinUsb_SetPipePolicy(
[in] WINUSB_INTERFACE_HANDLE InterfaceHandle,
[in] UCHAR PipeID,
[in] ULONG PolicyType,
[in] ULONG ValueLength,
[in] PVOID Value
);
Parameter
[in] InterfaceHandle
Handel buram ke antarmuka yang berisi titik akhir tempat pipa dikaitkan.
Untuk mengatur kebijakan untuk 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] PipeID
Nilai 8-bit yang terdiri dari alamat 7-bit dan bit arah. Parameter ini sesuai dengan bidang bEndpointAddress di deskriptor titik akhir.
[in] PolicyType
Variabel ULONG yang menentukan parameter kebijakan yang akan diubah. Parameter Nilai berisi nilai baru untuk parameter kebijakan, yang ditentukan dalam winusbio.h. Untuk informasi tentang cara menggunakan setiap kebijakan pipa dan perilaku yang dihasilkan, lihat Fungsi WinUSB untuk Modifikasi Kebijakan Pipa.
[in] ValueLength
Ukuran, dalam byte, dari buffer di Nilai.
[in] Value
Nilai baru untuk parameter kebijakan yang ditentukan PolicyType . Ukuran parameter input ini tergantung pada kebijakan yang akan diubah. Untuk informasi tentang ukuran parameter ini, lihat deskripsi parameter PolicyType .
Mengembalikan nilai
WinUsb_SetPipePolicy 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 . |
|
Pemanggil melewati ukuran yang tidak valid untuk buffer parameter kebijakan dalam parameter ValueLength . |
|
Menunjukkan bahwa memori tidak cukup untuk melakukan operasi. |
Persyaratan
Target Platform | Universal |
Header | winusb.h (termasuk Winusb.h) |
Pustaka | Winusb.lib |
DLL | Winusb.dll |