Função RegisterApplicationRestart (winbase.h)
Registra a instância ativa de um aplicativo para reinicialização.
Sintaxe
HRESULT RegisterApplicationRestart(
[in, optional] PCWSTR pwzCommandline,
[in] DWORD dwFlags
);
Parâmetros
[in, optional] pwzCommandline
Um ponteiro para uma cadeia de caracteres Unicode que especifica os argumentos de linha de comando para o aplicativo quando ele é reiniciado. O tamanho máximo da linha de comando que você pode especificar é RESTART_MAX_CMD_LINE caracteres. Não inclua o nome do executável na linha de comando; essa função a adiciona para você.
Se esse parâmetro for NULL ou uma cadeia de caracteres vazia, a linha de comando registrada anteriormente será removida. Se o argumento contiver espaços, use aspas ao redor do argumento.
[in] dwFlags
Esse parâmetro pode ser 0 ou um ou mais dos valores a seguir.
Retornar valor
Essa função retorna S_OK em caso de êxito ou um dos códigos de erro a seguir.
Código de retorno | Descrição |
---|---|
|
Erro interno. |
|
A linha de comando especificada é muito longa. |
Comentários
O registro inicial para reinicialização deve ocorrer antes que o aplicativo encontre uma exceção sem tratamento ou não responda. Em seguida, você pode chamar essa função de dentro do retorno de chamada de recuperação para atualizar a linha de comando.
Para um aplicativo do Windows que está sendo atualizado, a última oportunidade de chamar essa função é durante o processamento da mensagem WM_QUERYENDSESSION . Para um aplicativo de console que está sendo atualizado, o registro deve ocorrer antes que o instalador tente desligar o aplicativo (você precisa manter o registro atualizado; você não pode chamar essa função ao lidar com a notificação de CTRL_C_EVENT).
Se você se registrar para reiniciar e o aplicativo encontrar uma exceção sem tratamento ou não responder, o usuário terá a oportunidade de reiniciar o aplicativo; o aplicativo não é reiniciado automaticamente sem o consentimento do usuário. No entanto, se o aplicativo estiver sendo atualizado e exigir uma reinicialização, o aplicativo será reiniciado automaticamente.
Para evitar reinicializações cíclicas, o sistema só reiniciará o aplicativo se ele estiver em execução por um mínimo de 60 segundos.
Observe que, para que um aplicativo seja reiniciado quando a atualização exigir uma reinicialização do computador, o instalador deve chamar a função ExitWindowsEx com o sinalizador EWX_RESTARTAPPS definido ou a função InitiateShutdown com o sinalizador SHUTDOWN_RESTARTAPPS definido.
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Windows Vista [somente aplicativos da área de trabalho] |
Servidor mínimo com suporte | Windows Server 2008 [somente aplicativos da área de trabalho] |
Plataforma de Destino | Windows |
Cabeçalho | winbase.h (incluir Windows.h) |
Biblioteca | Kernel32.lib |
DLL | Kernel32.dll |