Fungsi WdfDeviceInitSetPowerPolicyOwnership (wdfdevice.h)
[Berlaku untuk KMDF dan UMDF]
Metode WdfDeviceInitSetPowerPolicyOwnership menetapkan apakah driver panggilan adalah, atau tidak, pemilik kebijakan daya untuk perangkat tertentu.
Sintaks
void WdfDeviceInitSetPowerPolicyOwnership(
[in] PWDFDEVICE_INIT DeviceInit,
[in] BOOLEAN IsPowerPolicyOwner
);
Parameter
[in] DeviceInit
Penunjuk yang disediakan penelepon ke struktur WDFDEVICE_INIT .
[in] IsPowerPolicyOwner
Nilai Boolean yang menunjukkan apakah driver panggilan adalah pemilik kebijakan daya. Jika TRUE, driver panggilan adalah pemilik kebijakan daya. Jika FALSE, itu bukan pemilik kebijakan daya.
Nilai kembali
Tidak ada
Keterangan
Jika Anda menulis driver fungsi berbasis kerangka kerja, kerangka kerja secara otomatis menetapkan driver Anda sebagai pemilik kebijakan daya. (Jika perangkat beroperasi dalam mode mentah, driver bus adalah pemilik kebijakan daya default.)
Untuk mengubah pemilik kebijakan daya default, dua driver berikut harus memanggil WdfDeviceInitSetPowerPolicyOwnership:
- Pemilik kebijakan daya default harus memanggil WdfDeviceInitSetPowerPolicyOwnership dengan IsPowerPolicyOwner diatur ke FALSE.
- Driver yang Anda inginkan untuk menjadi pemilik kebijakan daya harus memanggil WdfDeviceInitSetPowerPolicyOwnership dengan IsPowerPolicyOwner diatur ke TRUE.
Hanya satu driver di setiap tumpukan yang dapat menjadi pemilik kebijakan daya, jadi Anda harus memastikan bahwa hanya satu driver yang memanggil WdfDeviceInitSetPowerPolicyOwnership dengan IsPowerPolicyOwner yang diatur ke TRUE.
Jika driver Anda memanggil WdfDeviceInitSetPowerPolicyOwnership, driver harus melakukannya sebelum memanggil WdfDeviceCreate. Untuk informasi selengkapnya, lihat Membuat Objek Perangkat Kerangka Kerja.
Untuk informasi selengkapnya tentang memanggil WdfDeviceInitSetPowerPolicyOwnership, lihat Kepemilikan Kebijakan Daya.
Contoh
Contoh kode berikut berasal dari driver sampel Serial . Contoh ini memeriksa nilai registri untuk menentukan apakah driver harus menjadi pemilik kebijakan daya. Jika driver tidak boleh menjadi pemilik kebijakan daya, contohnya memanggil WdfDeviceInitSetPowerPolicyOwnership.
//
// Call subroutine that checks a registry value.
//
SerialGetFdoRegistryKeyValue(
DeviceInit,
L"SerialRelinquishPowerPolicy",
&relinquishPowerPolicy
);
//
// If the registry value is TRUE, do not own power policy.
//
if(relinquishPowerPolicy) {
WdfDeviceInitSetPowerPolicyOwnership(
DeviceInit,
FALSE
);
}
Persyaratan
Persyaratan | Nilai |
---|---|
Target Platform | Universal |
Versi KMDF minimum | 1,0 |
Versi UMDF minimum | 2.0 |
Header | wdfdevice.h (termasuk Wdf.h) |
Pustaka | Wdf01000.sys (KMDF); WUDFx02000.dll (UMDF) |
IRQL | <= DISPATCH_LEVEL |
Aturan kepatuhan DDI | ChildDeviceInitAPI(kmdf), DeviceInitAPI(kmdf), DriverCreate(kmdf), FDOPowerPolicyOwnerAPI(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf), PdoDeviceInitAPI(kmdf) |