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.
Jika Anda menulis driver bus berbasis kerangka kerja atau driver filter, dan jika perangkat tidak beroperasi dalam mode mentah, driver Anda tidak akan menjadi pemilik kebijakan daya kecuali memanggil WdfDeviceInitSetPowerPolicyOwnership.

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)

Lihat juga

WdfDeviceBuat