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으로 지정된 Certificate Services 서버에 발급되는 제어 명령을 나타내는 값입니다. 다음 값은 dwControlFlags에 대해 지원됩니다.
값 | 의미 |
---|---|
|
인증서 서비스를 중지합니다. |
[out] pcbOut
나중에 사용하기 위해 이 매개 변수는 ppbOut에 할당된 바이트 수입니다. 현재 구현은 ppbOut에 메모리를 할당하지 않습니다. 이 값을 NULL로 설정할 수 있습니다.
[out] ppbOut
나중에 사용할 경우 이 매개 변수는 발급된 명령의 출력을 나타내는 바이트에 대한 포인터가 됩니다. 현재 구현은 ppbOut에 메모리를 할당하지 않습니다. 이 값을 NULL로 설정할 수 있습니다.
반환 값
반환 값은 HRESULT입니다. S_OK 값은 성공을 나타냅니다.
설명
이 함수의 목적은 백업 또는 복원 애플리케이션이 프로그래밍 방식으로 Certificate Services 애플리케이션을 중지하도록 허용하는 것입니다(따라서 서비스 컨트롤러 API를 사용할 필요가 없음). 이 방식으로 인증서 서비스를 중지하면 인증서 서비스가 콘솔 모드에서 실행 중일 때도 작동합니다. 서비스 컨트롤러 API는 콘솔 모드에서 실행되는 애플리케이션을 제어할 수 없습니다.
Certadm.dll 이 함수의 이름은 CertSrvServerControlW입니다. GetProcAddress를 호출할 때 이 형식의 이름을 사용해야 합니다. 또한 이 함수는 Certbcli.h 헤더 파일에서 FNCERTSRVSERVERCONTROLW 형식으로 정의됩니다.
예제
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 |
헤더 | certbcli.h(Certsrv.h 포함) |
라이브러리 | Certadm.lib |
DLL | Certadm.dll |