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
ERROR_INVALID_HANDLE
Pemanggil melewati NULL dalam parameter InterfaceHandle .
ERROR_INVALID_PARAMETER
Pemanggil melewati ukuran yang tidak valid untuk buffer parameter kebijakan dalam parameter ValueLength .
ERROR_NOT_ENOUGH_MEMORY
Menunjukkan bahwa memori tidak cukup untuk melakukan operasi.

Persyaratan

   
Target Platform Universal
Header winusb.h (termasuk Winusb.h)
Pustaka Winusb.lib
DLL Winusb.dll

Lihat juga

WinUSB

Fungsi WinUSB

Fungsi WinUSB untuk Modifikasi Kebijakan Pipa

WinUsb_GetPipePolicy

WinUsb_Initialize