CertSrvRestoreRegisterW-Funktion (certbcli.h)
Die CertSrvRestoreRegister-Funktion registriert eine Certificate Services-Wiederherstellung.
Syntax
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
);
Parameter
[in] hbc
Ein Handle für den Wiederherstellungskontext der Zertifikatdienste. Dieses Handle wird durch Aufrufen der CertSrvRestorePrepare-Funktion abgerufen.
[in] pwszCheckPointFilePath
Ein Zeiger auf eine Unicode-Zeichenfolge mit NULL-Beendigung, die den Wiederherstellungspfad für die Prüfpunktdatei enthält. Übergeben Sie NULL für diesen Parameter, wenn er nicht benötigt wird.
[in] pwszLogPath
Ein Zeiger auf eine Unicode-Zeichenfolge mit NULL-Beendigung, die das aktuelle Protokolldateiverzeichnis enthält. Übergeben Sie NULL für diesen Parameter, wenn er nicht benötigt wird.
[in] rgrstmap
Ein Array von CSEDB_RSTMAP Strukturen, das die Wiederherstellungszuordnung enthält. Wenn Sie eine vollständige Datenbankwiederherstellung durchführen, gibt dieser Parameter den Namen der Sicherungsdatenbank sowie einen neuen Namen für die Datenbank an, nachdem sie wiederhergestellt wurde. Auf den Namen der Sicherungsdatenbank wird vom pwszDatabaseName-Member verwiesen, und auf den neuen Datenbanknamen wird vom pwszNewDatabaseName-Member verwiesen. Wenn die Absicht darin besteht, denselben Namen sowohl für die Sicherungsdatenbank als auch für die wiederhergestellte Datenbank beizubehalten, legen Sie sowohl die pwszNewDatabaseName - als auch die pwszDatabaseName-Member auf denselben Namen fest. Der Name der Sicherungsdatenbank wird aus dem Pfad erstellt, der vom Aufruf des Sicherungsclients an die Funktion CertSrvRestoreGetDatabaseLocations zurückgegeben wird. CertSrvRestoreGetDatabaseLocations wäre während einer vollständigen Sicherung aufgerufen worden, und der Sicherungsclient hätte den zurückgegebenen Pfad gespeichert.
Wenn Sie eine inkrementelle Wiederherstellung durchführen, übergeben Sie NULL für diesen Parameter.
[in] crstmap
Die Anzahl der Elemente im rgrstmap-Array . Übergeben Sie null für diesen Parameter, wenn Sie eine inkrementelle Wiederherstellung durchführen.
[in] pwszBackupLogPath
Ein Zeiger auf eine Unicode-Zeichenfolge mit Null-Beendigung, die den Pfad für das Sicherungsprotokollverzeichnis enthält. Übergeben Sie NULL für diesen Parameter, wenn er nicht benötigt wird.
[in] genLow
Die niedrigste Protokollnummer, die in dieser Wiederherstellungssitzung wiederhergestellt wurde. Protokolldateien haben die Form von edbXXXXX.log, wobei XXXXX ein Fünf-Hexadezimalwert ist. Beispielsweise ist edb00001.log die erste Protokolldatei, die von der internen Datenbank erstellt wurde. Für diese Funktion entspricht ein Wert von 1 in genLow der Protokolldatei edb00001.log.
[in] genHigh
Die höchste Protokollnummer, die in dieser Wiederherstellungssitzung wiederhergestellt wurde.
Rückgabewert
Der Rückgabewert ist ein HRESULT. Ein Wert von S_OK gibt den Erfolg an.
Hinweise
Verwenden Sie diese Funktion, um einen Wiederherstellungsvorgang zu registrieren. Alle nachfolgenden Wiederherstellungsvorgänge werden ineinander verzahnt. Das Wiederherstellungsziel wird am Starten (oder erfolgreichen Ausführen eines weiteren Aufrufs von CertSrvRestoreRegister) gehindert, bis CertSrvRestoreRegisterComplete aufgerufen wird.
Beim Wiederherstellen von mehr als einer inkrementellen Sicherung spielt die Reihenfolge, in der die inkrementellen Sicherungen registriert werden, keine Rolle. Die vollständige Datenbanksicherung muss jedoch vor der Registrierung der inkrementellen Sicherungen registriert werden.
Diese Funktion erfordert, dass das aufrufende Konto ein lokaler Administrator ist. Wenn dies nicht praktikabel ist, verwenden Sie stattdessen die Funktion CertSrvRestoreRegisterThroughFile . Die CertSrvRestoreRegisterThroughFile-Funktion erfordert nur, dass das aufrufende Konto über die Wiederherstellungsberechtigung verfügt.
Beispiele
// 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).
// ...
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Nicht unterstützt |
Unterstützte Mindestversion (Server) | Windows Server 2003 [nur Desktop-Apps] |
Zielplattform | Windows |
Kopfzeile | certbcli.h (include Certsrv.h) |
Bibliothek | Certadm.lib |
DLL | Certadm.dll |
Weitere Informationen
CertSrvRestoreRegisterComplete
CertSrvRestoreRegisterThroughFile
Verwenden der Sicherungs- und Wiederherstellungsfunktionen für Zertifikatdienste