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

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)

Weitere Informationen

WdfDeviceCreate