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 |