CertSrvRestorePrepareW 函数 (certbcli.h)

CertSrvRestorePrepare 函数为还原操作准备证书服务实例。

语法

HRESULT CERTBCLI_API CertSrvRestorePrepareW(
  [in]  WCHAR const *pwszServerName,
  [in]  ULONG       dwRestoreFlags,
  [out] HCSBC       *phbc
);

参数

[in] pwszServerName

指向服务器的计算机名称的指针,用于准备还原操作。 此名称可以是 NetBIOS 名称或 DNS 名称。

[in] dwRestoreFlags

一个位字段,表示下表中值的组合。

含义
CSRESTORE_TYPE_FULL
还原证书服务数据库、日志和相关文件。

[out] phbc

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

返回值

返回值为 HRESULT。 值 S_OK 表示成功,*phbc 设置为 HCSBC,其他证书服务还原 API 可以使用该 HCSBC

注解

在证书服务还原操作发生之前,必须通过 CertSrvRestorePrepare 创建 HCSBC。 此 HCSBC 可由各种证书服务还原功能使用。

注意还原会话完成后,必须调用 CertSrvRestoreEnd,以释放调用 CertSrvRestorePrepare 导致的 HCSBC
 
Certadm.dll 中此函数的名称为 CertSrvRestorePrepareW。 调用 GetProcAddress 时,必须使用此名称形式。 此外,此函数在 Certbcli.h 头文件中定义为类型 FNCERTSRVRESTOREPREPAREW

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

示例

FNCERTSRVRESTOREPREPAREW*  pfnRestorePrepare;
char * szRestorePrepFunc = "CertSrvRestorePrepareW";
HCSBC      hCSBC=NULL;
HINSTANCE  hInst=0;
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.
pfnRestorePrepare = (FNCERTSRVRESTOREPREPAREW*)GetProcAddress( hInst,
                                          szRestorePrepFunc );
if ( NULL == pfnRestorePrepare )
{
    printf("Failed GetProcAddress - %s, error=%d\n",
           szRestorePrepFunc,
           GetLastError() );
    exit(1); // Or other appropriate error action.
}

// Prepare CertServ for restoration.
hr = pfnRestorePrepare(wszServer,
                       CSRESTORE_TYPE_FULL,
                       &hCSBC);

if (FAILED(hr))
{
    printf("Failed pfnRestorePrepare call [%x]\n", hr);
    exit(1); // Or other appropriate error action.
}

// Use the HCSBC for restore operations.
// ...


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

// Free the DLL.
if (hInst)
    FreeLibrary(hInst);

要求

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

另请参阅

CertSrvRestoreEnd

GetProcAddress

设置备份和还原权限

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