CertSrvIsServerOnlineW 函式 (certbcli.h)

CertSrvIsServerOnline 函式會判斷憑證服務伺服器是否在在線;如果憑證服務伺服器不在在線,備份作業將不會成功。

語法

HRESULT CERTBCLI_API CertSrvIsServerOnlineW(
  [in]  WCHAR const *pwszServerName,
  [out] BOOL        *pfServerOnline
);

參數

[in] pwszServerName

要檢查在線狀態的伺服器 NetBIOS 或 DNS 機器名稱指標。

[out] pfServerOnline

布爾值的指標,如果憑證服務伺服器處於在線狀態,則為 TRUE ;如果憑證服務伺服器不在在線,則為 FALSE

傳回值

傳回值為 HRESULT。 如果憑證服務未執行,此函式將會失敗。 如果憑證服務正在執行並準備好接受要求,此函式會傳回S_OK,而 *pfServerOnline 會指向 TRUE 的值。 如果憑證服務在暫停 (或暫停) 模式中執行,則此函式會傳回S_OK,而 *pfServerOnline 會指向 FALSE 的值。

備註

呼叫此函式,以判斷憑證服務伺服器是否在在線且可用於備份作業。

此函式在 Certadm.dll 中的名稱是 CertSrvIsServerOnlineW。 呼叫 GetProcAddress 時,您必須使用此形式的名稱。 此外,此函式會定義為 Certbcli.h 頭檔中的 FNCERTSRVISSERVERONLINEW 類型。

範例

FNCERTSRVISSERVERONLINEW* pfnOnline = NULL;
char * szOnlineFunc = "CertSrvIsServerOnlineW";
BOOL       bOnline = 0;
HRESULT    hr = 0;

// Get the address of the function.
// hInst was set by calling LoadLibrary for Certadm.dll.
pfnOnline = (FNCERTSRVISSERVERONLINEW*) GetProcAddress(hInst,
                                        szOnlineFunc );
if ( NULL == pfnOnline )
{
    printf("Failed GetProcAddress - %s, error=%d\n",
           szOnlineFunc,
           GetLastError() );
    exit(1);  // Or other appropriate error action.
}

// Call the function; wszServer was set earlier to the server name.
hr = pfnOnline(wszServer, &bOnline);
if (FAILED(hr))
{
    printf("Failed pfnOnline, hr=%x, err=%d\n",
           hr,
           GetLastError());
    exit(1);  // Or other appropriate error action.
}

// Display the online status.
printf("Server is %s\n", 
       (bOnline ? "Online" : "Suspended" ));

規格需求

需求
最低支援的用戶端 都不支援
最低支援的伺服器 Windows Server 2003 [僅限傳統型應用程式]
目標平台 Windows
標頭 certbcli.h (包含 Certsrv.h)
程式庫 Certadm.lib
Dll Certadm.dll

另請參閱

CertSrvBackupPrepare

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