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 時,您必須使用此形式的名稱。 此外,此函式會定義為 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

另請參閱

使用憑證服務備份和還原函式