Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Die SetExecutionState-Methode legt den Ausführungsstatus für den aktuellen Thread fest.
Syntax
HRESULT SetExecutionState(
[in] DWORD dwAdd,
[in] DWORD dwRemove
);
Parameter
[in] dwAdd
Flags, die dem Ausführungszustand des Snap-Ins hinzugefügt werden sollen. Dies kann eine Kombination aus 0 oder mehr der folgenden Flags sein.
ES_DISPLAY_REQUIRED
Die Energieverwaltungsanforderung für die Anzeige (Monitor). Wenn in dwAdd angegeben, verhindert das Snap-In, dass das Betriebssystem die Energieverwaltungsroutine für die Anzeige aufruft.
ES_SYSTEM_REQUIRED
Die Systemenergieverwaltungsanforderung. Wenn in dwAdd angegeben, verhindert das Snap-In, dass das Betriebssystem die Energieverwaltungsroutine für das System aufruft.
[in] dwRemove
Flags, die aus dem Ausführungszustand des Snap-Ins entfernt werden sollen. Dies kann eine Kombination aus 0 oder mehr der vorangehenden Flags sein. Die Angabe eines oder mehrerer Flags ermöglicht es einem Snap-In, eine Energieverwaltungsanforderung zu deaktivieren, die durch einen früheren Aufruf von SetExecutionState festgelegt wurde.
Rückgabewert
Bei erfolgreicher Ausführung wird der Rückgabewert S_OK. Diese Methode gibt S_FALSE zurück, wenn sie auf einem System aufgerufen wird, das die Energieverwaltung nicht unterstützt. Andere Rückgabewerte weisen auf einen Fehlercode hin.
Hinweise
Rufen Sie IConsolePower::SetExecutionState anstelle von SetThreadExecutionState auf. Snap-Ins dürfen die SetThreadExecutionState-Funktion nicht direkt aufrufen, was zu Konflikten führt, wenn mehrere Snap-Ins im selben Thread ausgeführt werden.
Ein Snap-In definiert seine Energieanforderungen und sendet sie durch Aufrufen von SetExecutionState an MMC. Nachdem das Snap-In SetExecutionState aufgerufen hat, bleibt der Ausführungszustand wirksam, bis das Snap-In SetExecutionState erneut aufruft. Beachten Sie, dass nach dem Aufruf von SetExecutionState die gleiche instance der IConsolePower-Schnittstelle für nachfolgende Aufrufe von SetExecutionState verwendet werden muss. Wenn ein Snap-In nicht die gleiche instance von IConsolePower verwendet, kann MMC SetThreadExecutionState nicht effektiv aufrufen. MMC verwaltet ein Array, um den Ausführungsstatus jedes Snap-Ins nachzuverfolgen, und ruft SetThreadExecutionState für alle Snap-Ins auf, die im Thread ausgeführt werden.
Beispiele
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;
}
Anforderungen
| Unterstützte Mindestversion (Client) | Windows Vista |
| Unterstützte Mindestversion (Server) | Windows Server 2008 |
| Zielplattform | Windows |
| Kopfzeile | mmc.h |
| Bibliothek | Mmc.lib |
| DLL | Mmcndmgr.dll |