Freigeben über


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.
Wenn Sie einen frameworkbasierten Bustreiber oder Filtertreiber schreiben und das Gerät nicht im unformatierten Modus ausgeführt wird, ist Ihr Treiber nicht der Besitzer der Energierichtlinie, es sei denn, er ruft WdfDeviceInitSetPowerPolicyOwnershipauf.

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)

Siehe auch

WdfDeviceCreate