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
指定备份类型。 这可以是以下值之一。
值 | 含义 |
---|---|
|
备份证书服务数据库、日志和相关文件。 |
|
仅备份日志文件。 |
[out] phbc
指向证书服务备份上下文句柄的指针 (HCSBC) 。
返回值
返回值为 HRESULT。 值 S_OK 表示成功,*phbc 将设置为可由其他证书服务备份 API 使用的 HCSBC 。
注解
在进行证书服务备份之前,必须通过 CertSrvBackupPrepare 创建 HCSBC。 生成的 HCSBC 是证书服务备份函数的必要参数,可用于列出、打开、读取和关闭文件,以及截断日志文件。
注意备份会话完成后,需要调用 CertSrvBackupEnd 来释放调用 CertSrvBackupPrepare 导致的 HCSBC。
若要执行此调用,必须具有备份 权限。 有关详细信息,请参阅 设置备份和还原权限。
示例
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 |