CertSrvBackupOpenFileW 函数 (certbcli.h)

CertSrvBackupOpenFile 函数打开一个文件进行备份。

语法

HRESULT CERTBCLI_API CertSrvBackupOpenFileW(
  [in]  HCSBC         hbc,
  [in]  WCHAR const   *pwszAttachmentName,
  [in]  DWORD         cbReadHintSize,
  [out] LARGE_INTEGER *pliFileSize
);

参数

[in] hbc

证书服务备份上下文的句柄。

[in] pwszAttachmentName

要打开以进行备份的文件名。 此文件名将从 通过 CertSrvBackupGetBackupLogsCertSrvBackupGetDatabaseNames 生成的列表中进行分析。 请注意, CertSrvBackupGetBackupLogsCertSrvBackupGetDatabaseNames 返回的名称必须在调用 CertSrvBackupOpenFile 之前去除单 WCHAR CSBFT_* 前缀。

[in] cbReadHintSize

CertSrvBackupRead 读取文件时用作提示的字节数。 传递给备份上下文的第一个 CertSrvBackupOpenFile 调用的 cbReadHintSize 参数用于调整读取缓冲区的大小。 为此参数传递零,缓冲区的大小将按 CertSrvBackupOpenFile 选择的合理高效大小调整。 如果可用内存不足,缓冲区大小将减少,直到内存分配成功或缓冲区大小达到其可能最小值为止。 传递非零大小,使 CertSrvBackupOpenFile 将缓冲区的大小调整为接近 cbReadHintSize 值的 2 次幂。 实现将仅选择 64 KB 到 4 MB 之间的 2 次幂。

[out] pliFileSize

指向 LARGE_INTEGER 值的指针,该值表示文件中的字节数。

返回值

如果函数成功,该函数将返回S_OK。

如果函数失败,它将返回指示错误的 HRESULT 值。 有关常见错误代码的列表,请参阅 常见 HRESULT 值

注解

使用此函数打开文件以进行备份。 使用完文件后,通过调用 CertSrvBackupClose 函数关闭该文件。

Certadm.dll 中此函数的名称为 CertSrvBackupOpenFileW。 调用 GetProcAddress 时,必须使用此形式的名称。 此外,此函数在 Certbcli.h 中定义为类型 FNCERTSRVBACKUPOPENFILEW

示例

FNCERTSRVBACKUPOPENFILEW* pfnOpenFile;
char * szBackupOpenFunc = "CertSrvBackupOpenFileW";
LARGE_INTEGER liFileSize;
HRESULT       hr=0;

// Get the address for the desired function.    
// hInst was set by calling LoadLibrary for Certadm.dll.
pfnOpenFile = (FNCERTSRVBACKUPOPENFILEW*)GetProcAddress(hInst,
                                         szBackupOpenFunc);
if ( NULL == pfnOpenFile )
{
    printf("Failed GetProcAddress - %s, error=%d\n",
            szBackupOpenFunc,
            GetLastError() );
    exit(1); // or other appropriate error action
}

// Open the file.
// hCSBC was set by an earlier call to CertSrvBackupPrepare.
// pwszFile specifies the name of a file.
// This name could have resulted from parsing the
// output from CertSrvBackupGetDatabaseNames, and so on.
hr = pfnOpenFile(hCSBC,
                pwszFile,
                0,
                &liFileSize);
if (FAILED(hr))
{
    printf("Failed pfnOpenFile call [%x] %ws\n",
           hr,
           pwszFile);
           exit(1); // Or other appropriate error action.
}

// Use the opened file as needed.
// When you have finished using the file, call CertSrvBackupClose.
// ...

要求

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

另请参阅

CertSrvBackupClose

CertSrvBackupRead

使用证书服务备份和还原功能