fungsi WinUsb_SetPowerPolicy (winusb.h)

Fungsi WinUsb_SetPowerPolicy menetapkan kebijakan daya untuk perangkat.

Sintaks

BOOL WinUsb_SetPowerPolicy(
  [in] WINUSB_INTERFACE_HANDLE InterfaceHandle,
  [in] ULONG                   PolicyType,
  [in] ULONG                   ValueLength,
  [in] PVOID                   Value
);

Parameter

[in] InterfaceHandle

Handel buram ke antarmuka pertama (default) pada perangkat, yang dikembalikan oleh WinUsb_Initialize.

[in] PolicyType

Nilai yang menentukan kebijakan daya yang akan ditetapkan. Tabel berikut ini menjelaskan konstanta simbolis yang didefinisikan dalam winusbio.h.

Parameter kebijakan Deskripsi
AUTO_SUSPEND

(0x81)

Menentukan jenis kebijakan yang ditangguhkan secara otomatis; parameter kebijakan daya harus ditentukan oleh pemanggil dalam parameter Nilai .

Untuk penangguhan otomatis, parameter Nilai harus menunjuk ke variabel UCHAR.

Jika NilaiTRUE (bukan nol), tumpukan USB menangguhkan perangkat jika perangkat tidak aktif. Perangkat diam jika tidak ada transfer yang tertunda, atau jika satu-satunya transfer yang tertunda adalah transfer IN untuk mengganggu atau titik akhir massal.

Nilai default ditentukan oleh nilai yang ditetapkan dalam pengaturan registri DefaultIdleState . Secara default, nilai ini TRUE.

SUSPEND_DELAY

(0x83)

Menentukan jenis kebijakan suspend-delay; parameter kebijakan daya harus ditentukan oleh pemanggil dalam parameter Nilai .

Untuk suspend-delay, Nilai harus menunjuk ke variabel ULONG.

Nilai menentukan jumlah waktu minimum, dalam milidetik, bahwa driver WinUSB harus menunggu pasca transfer sebelum dapat menangguhkan perangkat.

Nilai default ditentukan oleh nilai yang ditetapkan dalam pengaturan registri DefaultIdleTimeout . Secara default, nilai ini adalah lima detik.

[in] ValueLength

Ukuran, dalam byte, dari buffer di Nilai.

[in] Value

Nilai baru untuk parameter kebijakan daya. Jenis data dan nilai untuk Nilai tergantung pada jenis kebijakan daya yang diteruskan dalam PolicyType. Untuk informasi selengkapnya, lihat PolicyType.

Nilai kembali

WinUsb_SetPowerPolicy 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.

Keterangan

Daftar berikut ini meringkas efek perubahan pada status manajemen daya:

  • Semua handel pipa, handel antarmuka, kunci, dan pengaturan alternatif dipertahankan di seluruh peristiwa manajemen daya.
  • Setiap transfer yang sedang berlangsung ditangguhkan saat perangkat ditransfer ke status daya rendah, dan dilanjutkan saat perangkat dipulihkan ke status kerja.
  • Perangkat dan sistem harus dalam status berfungsi sebelum klien dapat memulihkan konfigurasi khusus perangkat. Klien dapat menentukan apakah perangkat dan sistem dalam keadaan berfungsi dari pesan WM_POWERBROADCAST.
  • Klien dapat menunjukkan bahwa antarmuka menganggur dengan memanggil WinUsb_SetPowerPolicy.

Persyaratan

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

Lihat juga

WinUSB

Fungsi WinUSB

WinUSB Power Management

WinUsb_Initialize