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)
Library Certadm.lib
DLL Certadm.dll

另请参阅

CertSrvBackupPrepare

使用证书服务备份和还原函数