Méthode IConsolePower::SetExecutionState (mmc.h)
La méthode SetExecutionState définit l’état d’exécution du thread actuel.
Syntaxe
HRESULT SetExecutionState(
[in] DWORD dwAdd,
[in] DWORD dwRemove
);
Paramètres
[in] dwAdd
Indicateurs à ajouter à l’état d’exécution du composant logiciel enfichable. Il peut s’agir d’une combinaison de 0 ou plus des indicateurs suivants.
ES_DISPLAY_REQUIRED
Configuration requise pour la gestion de l’alimentation de l’affichage (moniteur). S’il est spécifié dans dwAdd, le composant logiciel enfichable empêche le système d’exploitation d’appeler la routine de gestion de l’alimentation pour l’affichage.
ES_SYSTEM_REQUIRED
Configuration requise pour la gestion de l’alimentation du système. S’il est spécifié dans dwAdd, le composant logiciel enfichable empêche le système d’exploitation d’appeler la routine de gestion de l’alimentation pour le système.
[in] dwRemove
Indicateurs à supprimer de l’état d’exécution du composant logiciel enfichable. Il peut s’agir d’une combinaison de 0 ou plus des indicateurs précédents. La spécification d’un ou de plusieurs indicateurs permet à un composant logiciel enfichable de désactiver une exigence de gestion de l’alimentation établie par un appel antérieur à SetExecutionState.
Valeur retournée
En cas de réussite, la valeur de retour est S_OK. Cette méthode retourne S_FALSE lorsqu’elle est appelée sur un système qui ne prend pas en charge la gestion de l’alimentation. D’autres valeurs de retour indiquent un code d’erreur.
Notes
Appelez IConsolePower::SetExecutionState au lieu de SetThreadExecutionState. Les composants logiciels enfichables ne doivent pas appeler directement la fonction SetThreadExecutionState , ce qui entraîne des conflits si plusieurs composants logiciels enfichables s’exécutent sur le même thread.
Un composant logiciel enfichable définit ses besoins en alimentation et les envoie à la console MMC en appelant SetExecutionState. Une fois que le composant logiciel enfichable a appelé SetExecutionState, son état d’exécution reste en vigueur jusqu’à ce que le composant logiciel enfichable effectue un autre appel à SetExecutionState. N’oubliez pas qu’après l’appel de SetExecutionState, le même instance de l’interface IConsolePower doit être utilisé pour les appels suivants à SetExecutionState. Si un composant logiciel enfichable n’utilise pas la même instance de IConsolePower, MMC ne peut pas appeler efficacement SetThreadExecutionState. MMC gère un tableau pour suivre l’état d’exécution de chaque composant logiciel enfichable et appelle SetThreadExecutionState pour tous les composants logiciels enfichables s’exécutant sur le thread.
Exemples
HRESULT hr;
// Specify that the display and system are required.
// pConsolePower was created previously by
// the CoCreateInstance method.
hr = pConsolePower->SetExecutionState(ES_DISPLAY_REQUIRED | ES_SYSTEM_REQUIRED,0);
switch (hr)
{
case S_OK:
OutputDebugString(_T("SetExecutionState: Succeeded\n"));
break;
case S_FALSE:
// The system does not support power management.
OutputDebugString(_T("SetExecutionState: Unsupported\n"));
break;
default:
// Unexpected error occurred.
OutputDebugString(_T("SetExecutionState: Failure\n"));
break;
}
Spécifications
Client minimal pris en charge | Windows Vista |
Serveur minimal pris en charge | Windows Server 2008 |
Plateforme cible | Windows |
En-tête | mmc.h |
Bibliothèque | Mmc.lib |
DLL | Mmcndmgr.dll |