Função CertSrvRestoreRegisterW (certbcli.h)
A função CertSrvRestoreRegister registra uma restauração dos Serviços de Certificados.
Sintaxe
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
);
Parâmetros
[in] hbc
Um identificador para o contexto de restauração dos Serviços de Certificados. Esse identificador é obtido chamando a função CertSrvRestorePrepare .
[in] pwszCheckPointFilePath
Um ponteiro para uma cadeia de caracteres Unicode terminada em nulo que contém o caminho de restauração para o arquivo de ponto marcar. Passe NULL para esse parâmetro se ele não for necessário.
[in] pwszLogPath
Um ponteiro para uma cadeia de caracteres Unicode terminada em nulo que contém o diretório do arquivo de log atual. Passe NULL para esse parâmetro se ele não for necessário.
[in] rgrstmap
Uma matriz de estruturas de CSEDB_RSTMAP que contém o mapa de restauração. Se você estiver executando uma restauração completa do banco de dados, esse parâmetro especificará o nome do banco de dados de backup, bem como um novo nome para o banco de dados depois que ele for restaurado. O nome do banco de dados de backup é referenciado pelo membro pwszDatabaseName e o novo nome do banco de dados é referenciado pelo membro pwszNewDatabaseName . Se a intenção for manter o mesmo nome para o banco de dados de backup e o banco de dados restaurado, defina os membros pwszNewDatabaseName e pwszDatabaseName com o mesmo nome. O nome do banco de dados de backup é construído a partir do caminho retornado pela chamada do cliente de backup para a função CertSrvRestoreGetDatabaseLocations . CertSrvRestoreGetDatabaseLocations teria sido chamado durante um backup completo e o cliente de backup teria salvo o caminho retornado.
Se você estiver executando uma restauração incremental, passe NULL para esse parâmetro.
[in] crstmap
O número de elementos na matriz rgrstmap . Passe zero para esse parâmetro se você estiver executando uma restauração incremental.
[in] pwszBackupLogPath
Um ponteiro para uma cadeia de caracteres Unicode terminada em nulo que contém o caminho para o diretório de log de backup. Passe NULL para esse parâmetro se ele não for necessário.
[in] genLow
O número de log mais baixo que foi restaurado nesta sessão de restauração. Os arquivos de log estão na forma de edbXXXXX.log, em que XXXXX é um valor de cinco dígitos hexadecimais. Por exemplo, edb00001.log é o primeiro arquivo de log criado pelo banco de dados interno. Para fins dessa função, um valor de um em genLow corresponde ao arquivo de log edb00001.log.
[in] genHigh
O número de log mais alto que foi restaurado nesta sessão de restauração.
Retornar valor
O valor retornado é um HRESULT. Um valor de S_OK indica êxito.
Comentários
Use essa função para registrar uma operação de restauração. Todas as operações de restauração subsequentes serão interligadas. O destino de restauração será impedido de iniciar (ou executar com êxito outra chamada para CertSrvRestoreRegister) até que CertSrvRestoreRegisterComplete seja chamado.
Ao restaurar mais de um backup incremental, a ordem na qual os backups incrementais são registrados não importa. No entanto, o backup completo do banco de dados deve ser registrado antes de registrar os backups incrementais.
Essa função requer que a conta de chamada seja um administrador local. Se isso não for prático, use a função CertSrvRestoreRegisterThroughFile . A função CertSrvRestoreRegisterThroughFile requer apenas que a conta de chamada tenha o privilégio de restauração.
Exemplos
// 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).
// ...
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Nenhum compatível |
Servidor mínimo com suporte | Windows Server 2003 [somente aplicativos da área de trabalho] |
Plataforma de Destino | Windows |
Cabeçalho | certbcli.h (inclua Certsrv.h) |
Biblioteca | Certadm.lib |
DLL | Certadm.dll |
Confira também
CertSrvRestoreRegisterComplete
CertSrvRestoreRegisterThroughFile
Usando as funções de backup e restauração dos Serviços de Certificados