WdfDeviceInitSetPowerPolicyOwnership-Funktion (wdfdevice.h)
[Gilt für KMDF und UMDF]
Die WdfDeviceInitSetPowerPolicyOwnership-Methode bestimmt, 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. Bei TRUE ist der aufrufende Treiber der Besitzer der Energierichtlinie. Wenn FALSE, ist es nicht der Besitzer der Energierichtlinie.
Rückgabewert
Keine
Bemerkungen
Wenn Sie einen frameworkbasierten Funktionstreiber schreiben, richtet das Framework Ihren Treiber automatisch als Besitzer der Energierichtlinie ein. (Wenn das Gerät im Rohformatmodus arbeitet, ist der Bustreiber der Standardbesitzer der Energierichtlinie.)
Um den Standardbesitzer der Energierichtlinie zu ändern, müssen die folgenden beiden Treiber WdfDeviceInitSetPowerPolicyOwnership aufrufen:
- Der Standardmäßige Besitzer der Energierichtlinie muss WdfDeviceInitSetPowerPolicyOwnership aufrufen, wobei IsPowerPolicyOwner auf FALSE festgelegt ist.
- Der Treiber, der der Besitzer der Energierichtlinie sein soll, muss WdfDeviceInitSetPowerPolicyOwnership aufrufen, wobei IsPowerPolicyOwner auf TRUE festgelegt ist.
Daher müssen Sie sicherstellen, dass nur ein Treiber WdfDeviceInitSetPowerPolicyOwnership aufruft, wobei IsPowerPolicyOwner auf TRUE festgelegt ist.
Wenn Ihr Treiber WdfDeviceInitSetPowerPolicyOwnership aufruft, muss er dies tun, bevor er WdfDeviceCreate aufruft. Weitere Informationen finden Sie unter Erstellen eines Framework-Geräteobjekts.
Weitere Informationen zum Aufrufen von WdfDeviceInitSetPowerPolicyOwnership finden Sie unter Besitz von Power Policy.
Beispiele
Das folgende Codebeispiel stammt aus dem Seriellen Beispieltreiber. In diesem Beispiel wird ein Registrierungswert überprüft, um zu ermitteln, ob ein Treiber der Besitzer der Energierichtlinie sein soll. Wenn der Treiber nicht der Besitzer der Energierichtlinie sein soll, wird im Beispiel WdfDeviceInitSetPowerPolicyOwnership aufgerufen.
//
// 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 | Universell |
KMDF-Mindestversion | 1.0 |
UMDF-Mindestversion | 2.0 |
Kopfzeile | wdfdevice.h (einschließen von Wdf.h) |
Bibliothek | 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) |