Partager via


WdfDeviceInitSetPowerPolicyOwnership, fonction (wdfdevice.h)

[S’applique à KMDF et UMDF]

La méthode WdfDeviceInitSetPowerPolicyOwnership détermine si le pilote appelant est ou non le propriétaire de la stratégie d’alimentation d’un appareil spécifié.

Syntaxe

void WdfDeviceInitSetPowerPolicyOwnership(
  [in] PWDFDEVICE_INIT DeviceInit,
  [in] BOOLEAN         IsPowerPolicyOwner
);

Paramètres

[in] DeviceInit

Pointeur fourni par l’appelant vers une structure WDFDEVICE_INIT .

[in] IsPowerPolicyOwner

Valeur booléenne qui indique si le pilote appelant est le propriétaire de la stratégie d’alimentation. Si la valeur est TRUE, le pilote appelant est le propriétaire de la stratégie d’alimentation. Si la valeur est FALSE, il ne s’agit pas du propriétaire de la stratégie d’alimentation.

Valeur de retour

None

Remarques

Si vous écrivez un pilote de fonction basé sur l’infrastructure, l’infrastructure établit automatiquement votre pilote en tant que propriétaire de la stratégie d’alimentation. (Si l’appareil fonctionne en mode brut, le pilote de bus est le propriétaire de la stratégie d’alimentation par défaut.)

Pour modifier le propriétaire de la stratégie d’alimentation par défaut, les deux pilotes suivants doivent appeler WdfDeviceInitSetPowerPolicyOwnership :

  • Le propriétaire de la stratégie d’alimentation par défaut doit appeler WdfDeviceInitSetPowerPolicyOwnership avec IsPowerPolicyOwner défini sur FALSE.
  • Le pilote que vous souhaitez être le propriétaire de la stratégie d’alimentation doit appeler WdfDeviceInitSetPowerPolicyOwnership avec IsPowerPolicyOwner défini sur TRUE.
Si vous écrivez un pilote de bus ou un pilote de filtre basé sur l’infrastructure, et si l’appareil ne fonctionne pas en mode brut, votre pilote ne sera pas le propriétaire de la stratégie d’alimentation, sauf s’il appelle WdfDeviceInitSetPowerPolicyOwnership.

Un seul pilote dans chaque pile peut être le propriétaire de la stratégie d’alimentation. Vous devez donc vous assurer qu’un seul pilote appelle WdfDeviceInitSetPowerPolicyOwnership avec IsPowerPolicyOwner défini sur TRUE.

Si votre pilote appelle WdfDeviceInitSetPowerPolicyOwnership, il doit le faire avant d’appeler WdfDeviceCreate. Pour plus d’informations, consultez Création d’un objet d’appareil Framework.

Pour plus d’informations sur l’appel de WdfDeviceInitSetPowerPolicyOwnership, consultez Propriété de Power Policy.

Exemples

L’exemple de code suivant provient de l’exemple de pilote série . Cet exemple vérifie une valeur de Registre pour déterminer si un pilote doit être le propriétaire de la stratégie d’alimentation. Si le pilote ne doit pas être le propriétaire de la stratégie d’alimentation, l’exemple appelle 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
                                         );
}

Configuration requise

Condition requise Valeur
Plateforme cible Universal
Version KMDF minimale 1.0
Version UMDF minimale 2.0
En-tête wdfdevice.h (include Wdf.h)
Bibliothèque Wdf01000.sys (KMDF) ; WUDFx02000.dll (UMDF)
IRQL <= DISPATCH_LEVEL
Règles de conformité DDI ChildDeviceInitAPI(kmdf),DeviceInitAPI(kmdf), DriverCreate(kmdf), FDOPowerPolicyOwnerAPI(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf), PdoDeviceInitAPI(kmdf)

Voir aussi

WdfDeviceCreate