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