Bagikan melalui


Kepemilikan Kebijakan Daya di UMDF

Peringatan

UMDF 2 adalah versi terbaru dari 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.

Untuk setiap perangkat, satu (dan hanya satu) driver perangkat harus menjadi pemilik kebijakan daya perangkat. Pemilik kebijakan daya menentukan status daya perangkat yang sesuai untuk perangkat dan mengirim permintaan ke tumpukan driver perangkat setiap kali status daya perangkat harus berubah.

Driver berbasis kerangka kerja tidak berisi kode yang meminta perubahan dalam status daya perangkat, karena kerangka kerja menyediakan kode tersebut. Secara default, setiap kali sistem memasuki status tidur sistem, kerangka kerja meminta driver untuk bus perangkat Anda untuk menurunkan status daya perangkat ke D3. (Driver Anda dapat mengubah perilaku default sehingga kerangka kerja mengatur status tidur perangkat Anda ke D1 atau D2, jika perangkat menyediakan kemampuan bangun.) Ketika daya sistem kembali ke status kerjanya (S0), kerangka kerja meminta driver bus untuk memulihkan perangkat Anda ke status kerja (D0).

Pemilik kebijakan daya juga bertanggung jawab untuk mengaktifkan dan menonaktifkan fitur perangkat berikut:

  • Kemampuan perangkat Anda untuk memasuki status daya rendah (tidur) saat diam dan sistem tetap dalam status bekerja (S0)

  • Kemampuan perangkat Anda untuk membangunkan dirinya dari status tidur saat mendeteksi peristiwa eksternal

  • Kemampuan perangkat Anda untuk membangunkan seluruh sistem dari status tidur sistem saat mendeteksi peristiwa eksternal

Jika perangkat Anda mendukung kemampuan power-down diam dan bangun sistem ini, pemilik kebijakan daya juga dapat mendukung antarmuka IPowerPolicyCallbackWakeFromS0 dan IPowerPolicyCallbackWakeFromSx kerangka kerja, yang menentukan serangkaian fungsi panggilan balik peristiwa kebijakan daya.

Secara default, driver berbasis UMDF bukan pemilik kebijakan daya. Driver fungsi mode kernel perangkat adalah pemilik kebijakan daya default. (Jika tidak ada driver fungsi mode kernel dan sopir bus telah memanggil WdfPdoInitAssignRawDevice, pengemudi bus adalah pemilik kebijakan daya). Jika Anda ingin driver berbasis UMDF Anda menjadi pemilik kebijakan daya untuk tumpukan driver, driver harus memanggil IWDFDeviceInitialize::SetPowerPolicyOwnership, dan pemilik kebijakan daya default mode kernel harus memanggil WdfDeviceInitSetPowerPolicyOwnership untuk menonaktifkan kepemilikan.

Selain itu, jika Anda menyediakan driver berbasis UMDF untuk perangkat USB, dan jika Anda ingin driver Anda menjadi pemilik kebijakan daya, file INF driver harus berisi arahan INF AddReg yang menetapkan nilai WinUsbPowerPolicyOwnershipDisabled dalam registri. Jika nilai berukuran REG_DWORD ini diatur ke nomor bukan nol, nilai ini akan menonaktifkan kemampuan driver WinUSB untuk menjadi pemilik kebijakan daya perangkat. Direktif AddReg harus berada di bagian INF DDInstall.HW, seperti yang ditunjukkan contoh berikut.

[MyDriver_Install.NT.hw]
AddReg=MyDriver_AddReg

[MyDriver_AddReg]
HKR,,"WinUsbPowerPolicyOwnershipDisabled",0x00010001,1

Kerangka kerja melakukan pekerjaan berikut untuk pemilik kebijakan daya:

  • Ini menangani semua komunikasi kebijakan daya antara driver Anda dan sisa tumpukan driver. Misalnya, driver Anda tidak perlu meminta driver bus untuk mengubah status daya perangkat, karena kerangka kerja membuat permintaan.

  • Jika driver Anda mendaftarkan fungsi panggilan balik peristiwa kebijakan daya, kerangka kerja memanggilnya ketika saatnya untuk mengaktifkan atau menonaktifkan kemampuan perangkat untuk membangunkan dirinya dari status daya rendah.

  • Jika driver Anda memungkinkan pengguna untuk mengubah pengaturan diam dan bangun, kerangka kerja menyediakan antarmuka pengguna dalam bentuk halaman lembar properti yang ditampilkan Manajer Perangkat.

Untuk informasi selengkapnya tentang tanggung jawab pemilik kebijakan daya, lihat topik berikut: