Bagikan melalui


Kontrol Pengguna Terhadap Perilaku Diam dan Bangun Perangkat di UMDF

Peringatan

UMDF 2 adalah versi terbaru UMDF dan supersedes UMDF 1. Semua driver UMDF baru harus ditulis menggunakan UMDF 2. Tidak ada fitur baru yang ditambahkan ke UMDF 1 dan ada dukungan terbatas untuk UMDF 1 pada versi Windows 10 yang lebih baru. Driver Universal Windows harus menggunakan UMDF 2.

Sampel UMDF 1 yang diarsipkan dapat ditemukan di Windows 11, versi 22H2 - Pembaruan Sampel Driver Mei 2022.

Untuk informasi selengkapnya, lihat Mulai menggunakan UMDF.

Jika perangkat memiliki kemampuan matikan atau bangun diam, Anda dapat memutuskan apakah pengguna harus diizinkan untuk mengaktifkan atau menonaktifkan kemampuan ini.

Driver berbasis UMDF Anda dapat menggunakan metode IWDFDevice2::AssignS0IdleSettings untuk menentukan apakah pengguna dengan akses registri dapat mengaktifkan atau menonaktifkan kemampuan nonaktif perangkat.

Driver Anda dapat menggunakan metode IWDFDevice2::AssignSxWakeSettings untuk menentukan apakah pengguna dengan akses registri dapat mengaktifkan atau menonaktifkan kemampuan bangun perangkat.

Kedua metode ini memungkinkan driver untuk mengaktifkan kemampuan, menonaktifkan kemampuan, atau memberi pengguna kontrol kemampuan:

  • Saat driver memanggil metode AssignS0IdleSettings , driver dapat memberi pengguna kontrol kemampuan diam perangkat dengan mengatur parameter UserControlOfIdleSettings ke IdleAllowUserControl dan mengatur parameter Diaktifkan ke WdfTrue atau WdfUseDefault.

  • Saat driver memanggil metode AssignSxWakeSettings , driver dapat memberi pengguna kontrol kemampuan bangun perangkat dengan mengatur parameter UserControlOfWakeSettings ke WakeAllowUserControl dan mengatur parameter Diaktifkan ke WdfTrue atau WdfUseDefault.

Jika driver Anda memungkinkan pengguna untuk memodifikasi pengaturan diam dan bangun, kerangka kerja menyediakan antarmuka pengguna, dalam bentuk halaman lembar properti yang ditampilkan Manajer Perangkat sehingga pengguna dapat mengaktifkan atau menonaktifkan kemampuan menganggur dan bangun. (Kerangka kerja memodifikasi nilai registri IdleInWorkingState dan WakeFromSleepState . Driver dan file penginstalannya tidak boleh membaca atau mengubah nilai-nilai ini.)

Jika pengguna memodifikasi pengaturan perangkat, kerangka kerja memperbarui status daya perangkat agar sesuai dengan pengaturan baru, jika perlu. Misalnya, jika pengguna menonaktifkan kemampuan daya mati diam perangkat saat perangkat sudah dalam keadaan daya rendah karena tidak aktif, kerangka kerja mengembalikan perangkat ke status kerjanya.

Jika driver Anda memungkinkan pengguna untuk mengubah pengaturan diam dan bangun, kerangka kerja mengaktifkan pengaturan ini secara default. Beberapa penulis driver mungkin awalnya ingin menonaktifkan pengaturan sebelum memperbolehkan pengguna mengubahnya.

Oleh karena itu, versi 1.9 dan yang lebih baru dari kerangka kerja menyediakan dua nilai registri yang dapat ditentukan driver, bernama WdfDefaultIdleInWorkingState dan WdfDefaultWakeFromSleepState, yang disimpan dalam subkunci Device Parameters\WDF perangkat, di bawah kunci perangkat keras perangkat. Nilainya REG_DWORD-ketik, dengan "0" yang menunjukkan kemampuan dinonaktifkan dan "1" menunjukkan kemampuan diaktifkan.

File INF driver Anda dapat menggunakan direktif INF AddReg untuk membuat dan mengatur nilai registri WdfDefaultIdleInWorkingState dan WdfDefaultWakeFromSleepState . Misalnya, jika driver Anda mengaktifkan kemampuan daya mati diam perangkat, tetapi jika kemampuan harus dinonaktifkan saat perangkat diinstal, file INF driver dapat mengatur WdfDefaultIdleInWorkingState ke "0".

Kerangka kerja memeriksa nilai registri WdfDefaultIdleInWorkingState hanya jika driver mengatur parameter UserControlOfIdleSettings ke IdleAllowUserControl dan parameter Diaktifkan ke WdfTrue atau WdfUseDefault saat driver memanggil metode IWDFDevice2::AssignS0IdleSettings .

Kerangka kerja memeriksa nilai registri WdfDefaultWakeFromSleepState hanya jika driver mengatur parameter UserControlOfWakeSettings ke IWakeAllowUserControl dan parameter Diaktifkan ke WdfTrue atau WdfUseDefault saat driver memanggil metode IWDFDevice2::AssignSxWakeSettings .