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 會設定為 HCSBC ,可供其他憑證服務備份 API 使用。

備註

在憑證服務備份發生之前,您必須使用 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)
程式庫 Certadm.lib
Dll Certadm.dll

另請參閱

CertSrvBackupEnd

使用憑證服務備份和還原函式