CertSrvRestoreRegisterW 函式 (certbcli.h)
CertSrvRestoreRegister 函式會註冊憑證服務還原。
語法
HRESULT CERTBCLI_API CertSrvRestoreRegisterW(
[in] HCSBC hbc,
[in] WCHAR const *pwszCheckPointFilePath,
[in] WCHAR const *pwszLogPath,
[in] CSEDB_RSTMAPW [] rgrstmap,
[in] LONG crstmap,
[in] WCHAR const *pwszBackupLogPath,
[in] ULONG genLow,
[in] ULONG genHigh
);
參數
[in] hbc
憑證服務還原內容的句柄。 呼叫 CertSrvRestorePrepare 函式可取得此句柄。
[in] pwszCheckPointFilePath
Null 終止 Unicode 字串的指標,其中包含檢查點檔案的還原路徑。 如果不需要此參數,請傳遞 NULL 。
[in] pwszLogPath
包含目前記錄檔目錄之 Null 終止 Unicode 字串的指標。 如果不需要此參數,請傳遞 NULL 。
[in] rgrstmap
包含還原對應 之CSEDB_RSTMAP 結構的陣列。 如果您要執行完整資料庫還原,此參數會指定備份資料庫的名稱,以及還原資料庫之後的資料庫新名稱。 備份資料庫名稱是由 pwszDatabaseName 成員參考,而 pwszNewDatabaseName 成員會參考新的資料庫名稱。 如果意圖是同時為備份資料庫和還原的資料庫維護相同的名稱,請將 pwszNewDatabaseName 和 pwszDatabaseName 成員設定為相同的名稱。 備份資料庫名稱是由備份用戶端呼叫 CertSrvRestoreGetDatabaseLocations 函式所傳回的路徑所建構。 CertSrvRestoreGetDatabaseLocations 會在完整備份期間呼叫,而備份用戶端會儲存傳回的路徑。
如果您要執行累加還原,請傳遞此參數的 NULL 。
[in] crstmap
rgrstmap 陣列中的項目數目。 如果您要執行累加還原,請為此參數傳遞零。
[in] pwszBackupLogPath
Null 終止 Unicode 字串的指標,其中包含備份記錄目錄的路徑。 如果不需要此參數,請傳遞 NULL 。
[in] genLow
在此還原會話中還原的最低記錄編號。 記錄檔的格式為 edbXXXXX.log,其中 XXXXX 是五個十六進位數位值。 例如,edb00001.log是內部資料庫所建立的第一個記錄檔。 為了達到此函式的目的, genLow 中的值會對應至記錄檔edb00001.log。
[in] genHigh
在此還原會話中還原的最高記錄編號。
傳回值
傳回值為 HRESULT。 值S_OK表示成功。
備註
使用此函式來註冊還原作業。 所有後續的還原作業都會相互連結。 在呼叫 CertSrvRestoreRegisterComplete 之前,會防止還原目標啟動 (或成功執行對 CertSrvRestoreRegister) 呼叫。
還原多個增量備份時,註冊增量備份的順序並不重要。 不過,必須先註冊完整資料庫備份,才能註冊增量備份。
此函式需要呼叫帳戶是本機系統管理員。 如果這並不實用,請改用 CertSrvRestoreRegisterThroughFile 函式。 CertSrvRestoreRegisterThroughFile 函式只需要呼叫帳戶具有還原許可權。
範例
// szMyDBName is the returned path from the backup client's
// call to CertSrvRestoreGetDatabaseLocations. This value would
// have been saved during a full backup operation.
CSEDB_RSTMAP rgrstmap[1] =
{
szMyDBName, // database name
szMyDBName // new name same as old
};
HRESULT hr = 0;
// Register a restore operation.
// hsb is an HCSBC created previously by CertSrvRestorePrepare.
hr = CertSrvRestoreRegister(
hsb,
NULL,
szMyRestoreLogPath, // defined elsewhere
rgrstmap,
1,
szMyBackupLogPath, // defined elsewhere
1, // edb00001.log
0x1a // edb0001a.log
);
if (S_OK != hr)
{
printf("Failed CertSrvRestoreRegister - %x\n", hr);
exit(1); // Or other appropriate error action.
}
// Continue processing.
// When done, call CertSrvRestoreRegisterComplete (not shown).
// ...
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | 都不支援 |
最低支援的伺服器 | Windows Server 2003 [僅限傳統型應用程式] |
目標平台 | Windows |
標頭 | certbcli.h (包含 Certsrv.h) |
程式庫 | Certadm.lib |
Dll | Certadm.dll |
另請參閱
CertSrvRestoreRegisterComplete