Функция 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 поддерживается следующее значение.
Значение | Значение |
---|---|
|
Остановите службы сертификатов. |
[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 |
См. также раздел
Использование функций резервного копирования и восстановления служб сертификатов