CertSrvRestoreRegisterW, fonction (certbcli.h)
La fonction CertSrvRestoreRegister enregistre une restauration des services de certificat.
Syntaxe
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
);
Paramètres
[in] hbc
Handle du contexte de restauration des services de certificats. Ce handle est obtenu en appelant la fonction CertSrvRestorePrepare .
[in] pwszCheckPointFilePath
Pointeur vers une chaîne Unicode terminée par null qui contient le chemin de restauration du fichier de point case activée. Transmettez NULL pour ce paramètre s’il n’est pas nécessaire.
[in] pwszLogPath
Pointeur vers une chaîne Unicode terminée par null qui contient le répertoire du fichier journal actuel. Transmettez NULL pour ce paramètre s’il n’est pas nécessaire.
[in] rgrstmap
Tableau de structures CSEDB_RSTMAP qui contient la carte de restauration. Si vous effectuez une restauration complète de la base de données, ce paramètre spécifie le nom de la base de données de sauvegarde, ainsi qu’un nouveau nom pour la base de données après sa restauration. Le nom de la base de données de sauvegarde est référencé par le membre pwszDatabaseName , et le nouveau nom de la base de données est référencé par le membre pwszNewDatabaseName . Si l’intention est de conserver le même nom pour la base de données de sauvegarde et la base de données restaurée, définissez les membres pwszNewDatabaseName et pwszDatabaseName sur le même nom. Le nom de la base de données de sauvegarde est construit à partir du chemin retourné par l’appel du client de sauvegarde à la fonction CertSrvRestoreGetDatabaseLocations . CertSrvRestoreGetDatabaseLocations aurait été appelé lors d’une sauvegarde complète, et le client de sauvegarde aurait enregistré le chemin d’accès retourné.
Si vous effectuez une restauration incrémentielle, transmettez NULL pour ce paramètre.
[in] crstmap
Nombre d’éléments dans le tableau rgrstmap . Passez zéro pour ce paramètre si vous effectuez une restauration incrémentielle.
[in] pwszBackupLogPath
Pointeur vers une chaîne Unicode terminée par null qui contient le chemin du répertoire du journal de sauvegarde. Transmettez NULL pour ce paramètre s’il n’est pas nécessaire.
[in] genLow
Le numéro de journal le plus bas qui a été restauré dans cette session de restauration. Les fichiers journaux se présentent sous la forme de edbXXXXX.log, où XXXXX est une valeur hexadécimale à cinq chiffres. Par exemple, edb00001.log est le premier fichier journal créé par la base de données interne. Pour les besoins de cette fonction, une valeur dans genLow correspond au fichier journal edb00001.log.
[in] genHigh
Numéro de journal le plus élevé restauré dans cette session de restauration.
Valeur retournée
La valeur de retour est un HRESULT. La valeur S_OK indique la réussite.
Remarques
Utilisez cette fonction pour inscrire une opération de restauration. Toutes les opérations de restauration suivantes seront verrouillées. La cible de restauration ne peut pas démarrer (ou exécuter correctement un autre appel à CertSrvRestoreRegister) tant que CertSrvRestoreRegisterComplete n’est pas appelé.
Lors de la restauration de plusieurs sauvegardes incrémentielles, l’ordre dans lequel les sauvegardes incrémentielles sont enregistrées n’a pas d’importance. Toutefois, la sauvegarde complète de la base de données doit être inscrite avant d’inscrire les sauvegardes incrémentielles.
Cette fonction nécessite que le compte appelant soit un administrateur local. Si cela n’est pas pratique, utilisez la fonction CertSrvRestoreRegisterThroughFile à la place. La fonction CertSrvRestoreRegisterThroughFile nécessite uniquement que le compte appelant dispose du privilège de restauration.
Exemples
// 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).
// ...
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Aucun pris en charge |
Serveur minimal pris en charge | Windows Server 2003 [applications de bureau uniquement] |
Plateforme cible | Windows |
En-tête | certbcli.h (include Certsrv.h) |
Bibliothèque | Certadm.lib |
DLL | Certadm.dll |
Voir aussi
CertSrvRestoreRegisterComplete
CertSrvRestoreRegisterThroughFile
Utilisation des fonctions de sauvegarde et de restauration des services de certificat