Manajemen daya WinUSB

WinUSB menggunakan mesin status KMDF untuk manajemen daya. Kebijakan daya dikelola melalui panggilan ke WinUsb_SetPowerPolicy.

Untuk mengubah perilaku daya WinUSB, pengaturan registri default dapat dimodifikasi di INF perangkat. Nilai-nilai ini harus ditulis ke lokasi spesifik perangkat di registri dengan menambahkan nilai di HW. Bagian AddReg dari INF.

Nilai registri yang dijelaskan dalam daftar berikut dapat ditentukan dalam INF perangkat untuk mengubah perilaku daya.

Bangun Sistem

Fitur ini dikendalikan oleh pengaturan registri DWORD SystemWakeEnabled . Nilai ini menunjukkan apakah perangkat harus diizinkan untuk membangunkan sistem dari status daya rendah.

HKR,,SystemWakeEnabled,0x00010001,1
  • Nilai nol, atau tidak adanya nilai ini menunjukkan bahwa perangkat tidak diizinkan untuk membangunkan sistem.
  • Untuk memungkinkan perangkat membangunkan sistem, atur SystemWakeEnabled ke nilai bukan nol. Kotak centang di halaman Properti perangkat diaktifkan secara otomatis sehingga pengguna dapat mengambil alih pengaturan.

Catatan

Mengubah pengaturan SystemWakeEnabled tidak berpengaruh pada penangguhan selektif, nilai registri ini hanya berkaitan dengan penangguhan sistem.

Penangguhan Selektif

Penangguhan selektif dapat dinonaktifkan oleh salah satu dari beberapa sistem atau pengaturan WinUSB. Satu pengaturan tidak dapat memaksa WinUSB untuk mengaktifkan penangguhan selektif.

Pengaturan kebijakan daya berikut yang ditentukan dalam parameter PolicyTypeWinUsb_SetPowerPolicy memengaruhi perilaku penangguhan selektif:

  • AUTO_SUSPEND Saat diatur ke nol, perangkat tidak diatur ke mode penangguhan selektif.
  • SUSPEND_DELAY Mengatur waktu antara ketika perangkat diam dan ketika WinUSB meminta perangkat untuk masuk ke penangguhan selektif.

Tabel berikut ini memperlihatkan bagaimana kunci registri memengaruhi fitur penangguhan selektif.

Kunci Registri Deskripsi
DeviceIdleEnabled Ini adalah nilai DWORD. Nilai registri ini menunjukkan apakah perangkat mampu dimatikan saat diam (Selective Suspend).
  • Nilai nol, atau tidak adanya nilai ini menunjukkan bahwa perangkat tidak mendukung dimatikan saat diam.
  • Nilai bukan nol menunjukkan bahwa perangkat mendukung daya mati saat diam.
  • Jika DeviceIdleEnabled tidak diatur, nilai pengaturan kebijakan daya AUTO_SUSPEND diabaikan.

HKR,,DeviceIdleEnabled,0x00010001,1
DeviceIdleIgnoreWakeEnable Saat diatur ke nilai bukan nol, perangkat akan ditangguhkan meskipun tidak mendukung RemoteWake.
UserSetDeviceIdleEnabled Nilai ini adalah nilai DWORD. Nilai registri ini menunjukkan apakah kotak centang harus diaktifkan di halaman Properti perangkat yang memungkinkan pengguna untuk mengambil alih default diam. Saat UserSetDeviceIdleEnabled diatur ke nilai bukan nol, kotak centang diaktifkan dan pengguna dapat menonaktifkan daya perangkat saat menganggur. Nilai nol, atau tidak adanya nilai ini menunjukkan bahwa kotak centang tidak diaktifkan.
  • Jika pengguna menonaktifkan penghematan daya perangkat, nilai pengaturan kebijakan daya AUTO_SUSPEND diabaikan.
  • Jika pengguna mengaktifkan penghematan daya perangkat, maka nilai AUTO_SUSPEND digunakan untuk menentukan apakah akan menangguhkan perangkat saat diam.

UserSetDeviceIdleEnabled diabaikan jika DeviceIdleEnabled tidak diatur.

HKR,,UserSetDeviceIdleEnabled,0x00010001,1
DefaultIdleState Ini adalah nilai DWORD. Nilai registri ini menetapkan nilai default pengaturan kebijakan daya AUTO_SUSPEND. Kunci registri ini digunakan untuk mengaktifkan atau menonaktifkan penangguhan selektif saat handel tidak terbuka ke perangkat.
  • Nilai nol atau tidak adanya nilai ini menunjukkan bahwa secara default, perangkat tidak ditangguhkan saat diam. Perangkat diizinkan untuk menangguhkan ketika diam hanya ketika kebijakan daya AUTO_SUSPEND diaktifkan.
  • Nilai bukan nol menunjukkan bahwa secara default perangkat dapat ditangguhkan saat diam.

Nilai ini diabaikan jika DeviceIdleEnabled tidak diatur.

HKR,,DefaultIdleState,0x00010001,1
DefaultIdleTimeout Ini adalah nilai DWORD. Nilai registri ini menetapkan status default pengaturan kebijakan daya SUSPEND_DELAY.

Nilai menunjukkan jumlah waktu dalam milidetik untuk menunggu sebelum menentukan bahwa perangkat menganggur.

HKR,,DefaultIdleTimeout,0x00010001,100

Mendeteksi Menganggur

Semua transfer tulis dan kontrol memaksa perangkat ke status daya D0 dan mengatur ulang timer menganggur. Antrean titik akhir IN tidak dikelola daya. Permintaan baca membangunkan perangkat saat dikirimkan. Namun, perangkat dapat menjadi menganggur saat permintaan baca menunggu.