CertSrvBackupPrepareW 函数 (certbcli.h)

CertSrvBackupPrepare 函数用于为备份操作准备证书服务服务器。

语法

HRESULT CERTBCLI_API CertSrvBackupPrepareW(
  [in]  WCHAR const *pwszServerName,
  [in]  ULONG       grbitJet,
  [in]  ULONG       dwBackupFlags,
  [out] HCSBC       *phbc
);

参数

[in] pwszServerName

指向要准备联机备份的服务器的计算机名称的指针。 此名称可以是 NetBIOS 名称或 DNS 名称。

[in] grbitJet

数据库引擎使用的值;此值应设置为零。

[in] dwBackupFlags

指定备份类型。 这可以是以下值之一。

含义
CSBACKUP_TYPE_FULL
备份证书服务数据库、日志和相关文件。
CSBACKUP_TYPE_LOGS_ONLY
仅备份日志文件。

[out] phbc

指向证书服务备份上下文句柄的指针 (HCSBC) 。

返回值

返回值为 HRESULT。 值 S_OK 表示成功,*phbc 将设置为可由其他证书服务备份 API 使用的 HCSBC

注解

在进行证书服务备份之前,必须通过 CertSrvBackupPrepare 创建 HCSBC。 生成的 HCSBC 是证书服务备份函数的必要参数,可用于列出、打开、读取和关闭文件,以及截断日志文件。

注意备份会话完成后,需要调用 CertSrvBackupEnd 来释放调用 CertSrvBackupPrepare 导致的 HCSBC
 
Certadm.dll 中此函数的名称为 CertSrvBackupPrepareW。 调用 GetProcAddress 时,必须使用此名称形式。 此外,此函数在 Certbcli.h 头文件中定义为类型 FNCERTSRVBACKUPPREPAREW

若要执行此调用,必须具有备份 权限。 有关详细信息,请参阅 设置备份和还原权限

示例

WCHAR *    wszServer = L"MyCertServerMachine";
FNCERTSRVBACKUPPREPAREW* pfnBackupPrepare;
char * szBackPrepFunc = "CertSrvBackupPrepareW";
HINSTANCE  hInst=0;
HCSBC      hCSBC=NULL;
HRESULT    hr=0;

// Load the DLL.
hInst = LoadLibrary(L"Certadm.dll");
if ( NULL == hInst )
{
    printf("Failed LoadLibrary, error=%d\n",
            GetLastError() );
    exit(1); // Or other appropriate error action.
}
// Get the address for the desired function.
pfnBackupPrepare = (FNCERTSRVBACKUPPREPAREW*)GetProcAddress( hInst,
                                        szBackPrepFunc );
if ( NULL == pfnBackupPrepare )
{
    printf("Failed GetProcAddress - %s, error=%d\n",
           szBackPrepFunc,
           GetLastError() );
    exit(1); // Or other appropriate error action.
}

// Prepare CertServ for backup.
hr = pfnBackupPrepare(wszServer,
                      0,
                      CSBACKUP_TYPE_FULL,
                      &hCSBC);
if (FAILED(hr))
{
    printf("Failed pfnBackupPrepare call [%x]\n", hr);
    exit(1); // Or other appropriate error action.
}

// Use the HCSBC for backup operations.
// ...

// When done processing, release the HCSBC context
// by calling CertSrvBackupEnd (not shown here).
// ...


// Done processing, free the DLL.
if (hInst)
    FreeLibrary(hInst);

要求

要求
最低受支持的客户端 无受支持的版本
最低受支持的服务器 Windows Server 2003 [仅限桌面应用]
目标平台 Windows
标头 certbcli.h (包括 Certsrv.h)
Library Certadm.lib
DLL Certadm.dll

另请参阅

CertSrvBackupEnd

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