Método IConsolePower::SetExecutionState (mmc.h)
O método SetExecutionState define o estado de execução do thread atual.
Sintaxe
HRESULT SetExecutionState(
[in] DWORD dwAdd,
[in] DWORD dwRemove
);
Parâmetros
[in] dwAdd
Sinalizadores a serem adicionados ao estado de execução do snap-in. Isso pode ser uma combinação de 0 ou mais dos sinalizadores a seguir.
ES_DISPLAY_REQUIRED
O requisito de gerenciamento de energia de exibição (monitor). Se especificado em dwAdd, o snap-in proíbe o sistema operacional de invocar a rotina de gerenciamento de energia para a exibição.
ES_SYSTEM_REQUIRED
O requisito de gerenciamento de energia do sistema. Se especificado em dwAdd, o snap-in proíbe o sistema operacional de invocar a rotina de gerenciamento de energia para o sistema.
[in] dwRemove
Sinalizadores a serem removidos do estado de execução do snap-in. Isso pode ser uma combinação de 0 ou mais dos sinalizadores anteriores. Especificar um ou mais sinalizadores permite que um snap-in desative um requisito de gerenciamento de energia estabelecido por uma chamada anterior para SetExecutionState.
Valor retornado
Se tiver êxito, o valor retornado será S_OK. Esse método retornará S_FALSE quando invocado em um sistema que não dá suporte ao gerenciamento de energia. Outros valores retornados indicam um código de erro.
Comentários
Chame IConsolePower::SetExecutionState em vez de SetThreadExecutionState. Os snap-ins não devem chamar a função SetThreadExecutionState diretamente, fazendo isso causará conflitos se vários snap-ins estiverem em execução no mesmo thread.
Um snap-in define seus requisitos de energia e os envia ao MMC chamando SetExecutionState. Depois que o snap-in chama SetExecutionState, seu estado de execução permanece em vigor até que o snap-in faça outra chamada para SetExecutionState. Lembre-se de que, depois que SetExecutionState for chamado, a mesma instância da interface IConsolePower deverá ser usada para chamadas subsequentes para SetExecutionState. Se um snap-in não usar a mesma instância de IConsolePower, o MMC não poderá chamar SetThreadExecutionState efetivamente. O MMC mantém uma matriz para acompanhar o estado de execução de cada snap-in e chama SetThreadExecutionState para todos os snap-ins em execução no thread.
Exemplos
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;
}
Requisitos
Cliente mínimo com suporte | Windows Vista |
Servidor mínimo com suporte | Windows Server 2008 |
Plataforma de Destino | Windows |
Cabeçalho | mmc.h |
Biblioteca | Mmc.lib |
DLL | Mmcndmgr.dll |