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 |
---|---|
|
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