Função CertSrvServerControlW (certbcli.h)

A função CertSrvServerControl emite um comando de controle de serviço para interromper programaticamente os Serviços de Certificados.

Sintaxe

HRESULT CERTBCLI_API CertSrvServerControlW(
  [in]  WCHAR const *pwszServerName,
  [in]  DWORD       dwControlFlags,
  [out] DWORD       *pcbOut,
  [out] BYTE        **ppbOut
);

Parâmetros

[in] pwszServerName

Um ponteiro para um nome ou uma cadeia de caracteres de configuração do servidor a ser emitido o comando de controle.

[in] dwControlFlags

Valor que representa o comando de controle que está sendo emitido para o servidor dos Serviços de Certificados especificado por pwszServerName. O valor a seguir tem suporte para dwControlFlags.

Valor Significado
CSCONTROL_SHUTDOWN
Interrompa os Serviços de Certificados.

[out] pcbOut

Para uso futuro, esse parâmetro será o número de bytes alocados para ppbOut. A implementação atual não aloca memória para ppbOut. Você pode definir esse valor como NULL.

[out] ppbOut

Para uso futuro, esse parâmetro será o ponteiro para o ponteiro para bytes que representam a saída do comando emitido. A implementação atual não aloca memória para ppbOut. Você pode definir esse valor como NULL.

Retornar valor

O valor retornado é um HRESULT. Um valor de S_OK indica êxito.

Comentários

A finalidade dessa função é permitir que um aplicativo de backup ou restauração interrompa programaticamente o aplicativo de Serviços de Certificados (não exigindo o uso das APIs do controlador de serviço). Parar os Serviços de Certificados dessa maneira também funcionará quando os Serviços de Certificados estiverem em execução no modo de console; as APIs do controlador de serviço não podem controlar aplicativos em execução no modo de console.

O nome dessa função no Certadm.dll é CertSrvServerControlW. Você deve usar essa forma do nome ao chamar GetProcAddress. Além disso, essa função é definida como o tipo FNCERTSRVSERVERCONTROLW no arquivo de cabeçalho Certbcli.h.

Exemplos

FNCERTSRVSERVERCONTROLW* pfnControl;
char * szControlFunc = "CertSrvServerControlW";
HRESULT    hr=0;

// Get the address for the desired function.
// hInst was set by calling LoadLibrary for Certadm.dll.
pfnControl = (FNCERTSRVSERVERCONTROLW*)GetProcAddress(hInst,
                                           szControlFunc);
if ( NULL == pfnControl )
{
    printf("Failed GetProcAddress - %s, error=%d\n",
           szControlFunc,
           GetLastError() );
    exit(1); // Or other appropriate error action.
}

// Issue a command to stop the service.
hr = pfnControl( L"MyCertServMachine",
                 CSCONTROL_SHUTDOWN,
                 NULL,
                 NULL);

if ( FAILED( hr ) )
{
    printf("Failed pfnControl call [%x]\n", hr);
    exit(1); // Or other appropriate error action.
}

Requisitos

Requisito Valor
Cliente mínimo com suporte Nenhum compatível
Servidor mínimo com suporte Windows Server 2003 [somente aplicativos da área de trabalho]
Plataforma de Destino Windows
Cabeçalho certbcli.h (inclua Certsrv.h)
Biblioteca Certadm.lib
DLL Certadm.dll

Confira também

Usando as funções de backup e restauração dos Serviços de Certificados