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.
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) |