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).
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.
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 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.
Topik terkait
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk