WdfDeviceInitSetPowerPolicyOwnership-Funktion (wdfdevice.h)
[Gilt für KMDF und UMDF]
Die WdfDeviceInitSetPowerPolicyOwnership Methode legt fest, ob der aufrufende Treiber der Besitzer der Energierichtlinie für ein angegebenes Gerät ist oder nicht.
Syntax
void WdfDeviceInitSetPowerPolicyOwnership(
[in] PWDFDEVICE_INIT DeviceInit,
[in] BOOLEAN IsPowerPolicyOwner
);
Parameter
[in] DeviceInit
Ein vom Aufrufer bereitgestellter Zeiger auf eine WDFDEVICE_INIT Struktur.
[in] IsPowerPolicyOwner
Ein boolescher Wert, der angibt, ob der aufrufende Treiber der Besitzer der Energierichtlinie ist. Wenn TRUE, ist der aufrufende Treiber der Besitzer der Energierichtlinie. Wenn FALSE, ist dies nicht der Besitzer der Energierichtlinie.
Rückgabewert
Nichts
Bemerkungen
Wenn Sie einen frameworkbasierten Funktionstreiber schreiben, richtet das Framework Ihren Treiber automatisch als Besitzer der Energierichtlinie ein. (Wenn das Gerät im unformatierten Modus ausgeführt wird, ist der Bustreiber der Standardbesitzer der Energierichtlinie.)
Um den Besitzer der Standard-Energierichtlinie zu ändern, müssen die folgenden beiden Treiber WdfDeviceInitSetPowerPolicyOwnershipaufrufen:
- Der Standardbesitzer der Energierichtlinie muss WdfDeviceInitSetPowerPolicyOwnership aufrufen, wobei IsPowerPolicyOwner auf FALSE-festgelegt ist.
- Der Treiber, den Sie als Besitzer der Energierichtlinie verwenden möchten, muss WdfDeviceInitSetPowerPolicyOwnership aufrufen, wobei IsPowerPolicyOwner auf TRUE-festgelegt ist.
Nur ein Treiber in jedem Stapel kann der Besitzer der Energierichtlinie sein. Daher müssen Sie sicherstellen, dass nur ein Treiber WdfDeviceInitSetPowerPolicyOwnership mit IsPowerPolicyOwner auf TRUEfestgelegt wird.
Wenn Ihr Treiber WdfDeviceInitSetPowerPolicyOwnershipaufruft, muss er dies tun, bevor er WdfDeviceCreateaufruft. Weitere Informationen finden Sie unter Erstellen eines Framework-Geräteobjekts.
Weitere Informationen zum Aufrufen WdfDeviceInitSetPowerPolicyOwnershipfinden Sie unter Power Policy Ownership.
Beispiele
Das folgende Codebeispiel stammt aus dem Serial Beispieltreiber. In diesem Beispiel wird ein Registrierungswert überprüft, um festzustellen, ob ein Treiber der Besitzer der Energierichtlinie sein soll. Wenn der Treiber nicht der Besitzer der Energierichtlinie sein soll, ruft das Beispiel WdfDeviceInitSetPowerPolicyOwnershipauf.
//
// 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
);
}
Anforderungen
Anforderung | Wert |
---|---|
Zielplattform- | Universal |
Minimale KMDF-Version | 1.0 |
Mindest-UMDF-Version | 2.0 |
Header- | wdfdevice.h (einschließen Wdf.h) |
Library | Wdf01000.sys (KMDF); WUDFx02000.dll (UMDF) |
IRQL- | <= DISPATCH_LEVEL |
DDI-Complianceregeln | ChildDeviceInitAPI(kmdf), DeviceInitAPI(kmdf), DriverCreate(kmdf), FDOPowerPolicyOwnerAPI(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf), PdoDeviceInitAPI(kmdf) |