Funzione CertSrvRestoreRegisterW (certbcli.h)
La funzione CertSrvRestoreRegister registra un ripristino di Servizi certificati.
Sintassi
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
);
Parametri
[in] hbc
Handle per il contesto di ripristino di Servizi certificati. Questo handle viene ottenuto chiamando la funzione CertSrvRestorePrepare .
[in] pwszCheckPointFilePath
Puntatore a una stringa Unicode con terminazione null contenente il percorso di ripristino per il file del punto di controllo. Passare NULL per questo parametro se non è necessario.
[in] pwszLogPath
Puntatore a una stringa Unicode con terminazione null contenente la directory del file di log corrente. Passare NULL per questo parametro se non è necessario.
[in] rgrstmap
Matrice di strutture CSEDB_RSTMAP che contiene la mappa di ripristino. Se si esegue un ripristino completo del database, questo parametro specifica il nome del database di backup, nonché un nuovo nome per il database dopo il ripristino. Il nome del database di backup viene fatto riferimento al membro pwszDatabaseName e il nuovo nome del database viene fatto riferimento al membro pwszNewDatabaseName . Se la finalità consiste nel mantenere lo stesso nome sia per il database di backup che per il database ripristinato, impostare sia pwszNewDatabaseName che i membri pwszDatabaseName sullo stesso nome. Il nome del database di backup viene costruito dal percorso restituito dalla chiamata del client di backup alla funzione CertSrvRestoreGetDatabaseLocations . CertSrvRestoreGetDatabaseLocations sarebbe stato chiamato durante un backup completo e il client di backup avrebbe salvato il percorso restituito.
Se si esegue un ripristino incrementale, passare NULL per questo parametro.
[in] crstmap
Numero di elementi nella matrice rgrstmap . Passare zero per questo parametro se si esegue un ripristino incrementale.
[in] pwszBackupLogPath
Puntatore a una stringa Unicode con terminazione null contenente il percorso della directory di log di backup. Passare NULL per questo parametro se non è necessario.
[in] genLow
Numero di log più basso ripristinato in questa sessione di ripristino. I file di log sono sotto forma di edbXXXXX.log, dove XXXXX è un valore di cinque cifre esadecimali. Ad esempio, edb00001.log è il primo file di log creato dal database interno. Ai fini di questa funzione, un valore di uno in genLow corrisponde al file di log edb00001.log.
[in] genHigh
Numero di log più alto ripristinato in questa sessione di ripristino.
Valore restituito
Il valore restituito è un HRESULT. Un valore di S_OK indica l'esito positivo.
Commenti
Usare questa funzione per registrare un'operazione di ripristino. Tutte le operazioni di ripristino successive verranno interlockate. La destinazione di ripristino verrà impedita l'avvio (o l'esecuzione di un'altra chiamata a CertSrvRegisterRegister) fino a quando non viene chiamato CertSrvRegisterComplete .
Quando si ripristinano più backup incrementali, l'ordine in cui vengono registrati i backup incrementali non importa. Tuttavia, il backup completo del database deve essere registrato prima di registrare i backup incrementali.
Questa funzione richiede che l'account chiamante sia un amministratore locale. Se non è pratico, usare invece la funzione CertSrvRestoreRegisterThroughFile . La funzione CertSrvRestoreRegisterThroughFile richiede solo che l'account chiamante disponga del privilegio di ripristino.
Esempio
// 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).
// ...
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Nessuno supportato |
Server minimo supportato | Windows Server 2003 [solo app desktop] |
Piattaforma di destinazione | Windows |
Intestazione | certbcli.h (includere Certsrv.h) |
Libreria | Certadm.lib |
DLL | Certadm.dll |
Vedi anche
CertSrvRestoreRegisterComplete
CertSrvRestoreRegisterThroughFile
Uso delle funzioni di backup e ripristino dei servizi certificati