Функция CertSrvServerControlW (certbcli.h)

Функция CertSrvServerControl выдает команду управления службой для программной остановки служб сертификатов.

Синтаксис

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

Параметры

[in] pwszServerName

Указатель на имя или строку конфигурации сервера, который будет выдан команде управления.

[in] dwControlFlags

Значение, представляющее команду управления, выдаваемую серверу служб сертификатов, заданному pwszServerName. Для dwControlFlags поддерживается следующее значение.

Значение Значение
CSCONTROL_SHUTDOWN
Остановите службы сертификатов.

[out] pcbOut

Для будущего использования этим параметром будет число байтов, выделенных для ppbOut. Текущая реализация не выделяет память для ppbOut. Для этого значения можно задать значение NULL.

[out] ppbOut

Для дальнейшего использования этот параметр будет указателем на байты, представляющие выходные данные выданной команды. Текущая реализация не выделяет память для ppbOut. Для этого значения можно задать значение NULL.

Возвращаемое значение

Возвращаемое значение — HRESULT. Значение S_OK указывает на успешное выполнение.

Комментарии

Цель этой функции — разрешить приложению резервного копирования или восстановления программно остановить приложение служб сертификатов (тем самым не требуется использовать API контроллера служб). Остановка служб сертификатов таким образом также будет работать, если службы сертификатов работают в режиме консоли; API контроллера службы не могут управлять приложениями, работающими в режиме консоли.

Имя этой функции в Certadm.dll — CertSrvServerControlW. Эту форму имени необходимо использовать при вызове GetProcAddress. Кроме того, эта функция определена как тип FNCERTSRVSERVERCONTROLW в файле заголовка Certbcli.h.

Примеры

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

Требования

Требование Значение
Минимальная версия клиента Ни одна версия не поддерживается
Минимальная версия сервера Windows Server 2003 [только классические приложения]
Целевая платформа Windows
Header certbcli.h (включая Certsrv.h)
Библиотека Certadm.lib
DLL Certadm.dll

См. также раздел

Использование функций резервного копирования и восстановления служб сертификатов