Share via


Usando o Gerenciador de Reinicialização com um Instalador Primário

O procedimento a seguir descreve como usar o Gerenciador de Reinicialização para desligar e reiniciar aplicativos e serviços. Ao usar o Gerenciador de Reinicialização com um único instalador, esse instalador também é o instalador primário que controla a interface do usuário.

Para usar o Gerenciador de Reinicialização com um instalador primário

  1. O instalador chama a função RmStartSession para iniciar a sessão do Gerenciador de Reinicialização e obter um identificador de sessão e uma chave.

  2. O instalador chama a função RmRegisterResources para registrar recursos. O Gerenciador de Reinicialização só pode usar recursos registrados para determinar quais aplicativos e serviços devem ser desligados e reiniciados. Todos os recursos que podem ser afetados pela instalação devem ser registrados na sessão. Os recursos podem ser identificados por nome de arquivo, nome curto do serviço ou uma estrutura de RM_UNIQUE_PROCESS .

  3. O instalador chama a função RmGetList para obter uma matriz de estruturas RM_PROCESS_INFO que lista todos os aplicativos e serviços que devem ser desligados e reiniciados.

    Se o valor do parâmetro lpdwRebootReason retornado pela função RmGetList não for zero, o Gerenciador de Reinicialização não poderá liberar um recurso registrado pelo desligamento de um aplicativo ou serviço. Nesse caso, um desligamento e uma reinicialização do sistema são necessários para continuar a instalação. O instalador deve solicitar ao usuário uma ação, interromper programas ou serviços ou agendar um desligamento e reinicialização do sistema.

    Se o valor do parâmetro lpdwRebootReason retornado pela função RmGetList for zero, o instalador deverá chamar a função RmShutdown . Isso desliga os serviços e aplicativos que estão usando recursos registrados. Em seguida, o instalador deve executar modificações do sistema necessárias para concluir a instalação. Por fim, o instalador deve chamar a função RmRestart para que o Gerenciador de Reinicialização possa reiniciar os aplicativos que ele desligou e que foram registrados para uma reinicialização.

  4. O instalador pode usar a função RmAddFilter para impedir que aplicativos e serviços especificados sejam desligados ou reiniciados por operações do Restart Manager. A função RmGetFilterList retorna uma lista dos aplicativos e serviços a serem filtrados do desligamento e da reinicialização. A função RmRemoveFilter remove um filtro.

  5. O instalador chama a função RmEndSession para fechar a sessão do Gerenciador de Reinicialização.

Para obter um snippet de código de exemplo que mostra como iniciar e usar uma sessão do Gerenciador de Reinicialização usando um instalador primário e, em seguida, ingressar um instalador secundário na sessão existente, consulte Usando o Gerenciador de Reinicialização com um Instalador Secundário.