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 會設定為 HCSBC ,可供其他憑證服務備份 API 使用。
備註
在憑證服務備份發生之前,您必須使用 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) |
程式庫 | Certadm.lib |
Dll | Certadm.dll |