Partager via


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.

Note Une exigence de gestion de l’alimentation doit être désactivée avant de pouvoir l’activer. Une tentative d’activation d’une exigence de gestion de l’alimentation sans la désactiver au préalable renvoie une erreur E_INVALIDARG.
 

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

Voir aussi

IConsolePower::ResetIdleTimer

SetThreadExecutionState