Función CertSrvRestoreRegisterW (certbcli.h)

La función CertSrvRestoreRegister registra una restauración de Servicios de certificados.

Sintaxis

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

Identificador del contexto de restauración de Servicios de certificados. Este identificador se obtiene mediante una llamada a la función CertSrvRestorePrepare .

[in] pwszCheckPointFilePath

Puntero a una cadena Unicode terminada en null que contiene la ruta de acceso de restauración para el archivo de punto de comprobación. Pase NULL para este parámetro si no es necesario.

[in] pwszLogPath

Puntero a una cadena Unicode terminada en null que contiene el directorio del archivo de registro actual. Pase NULL para este parámetro si no es necesario.

[in] rgrstmap

Matriz de estructuras de CSEDB_RSTMAP que contiene el mapa de restauración. Si va a realizar una restauración completa de la base de datos, este parámetro especifica el nombre de la base de datos de copia de seguridad, así como un nuevo nombre para la base de datos después de restaurarla. El miembro pwszDatabaseName hace referencia al nombre de la base de datos de copia de seguridad y el miembro pwszNewDatabaseName hace referencia al nuevo nombre de la base de datos. Si la intención es mantener el mismo nombre para la base de datos de copia de seguridad y la base de datos restaurada, establezca los miembros pwszNewDatabaseName y pwszDatabaseName en el mismo nombre. El nombre de la base de datos de copia de seguridad se construye a partir de la ruta de acceso devuelta por la llamada del cliente de copia de seguridad a la función CertSrvRestoreGetDatabaseLocations . Se habría llamado a CertSrvRestoreGetDatabaseLocations durante una copia de seguridad completa y el cliente de copia de seguridad habría guardado la ruta de acceso devuelta.

Si va a realizar una restauración incremental, pase NULL para este parámetro.

[in] crstmap

Número de elementos de la matriz rgrstmap . Pase cero para este parámetro si va a realizar una restauración incremental.

[in] pwszBackupLogPath

Puntero a una cadena Unicode terminada en null que contiene la ruta de acceso del directorio de registro de copia de seguridad. Pase NULL para este parámetro si no es necesario.

[in] genLow

Número de registro más bajo que se restauró en esta sesión de restauración. Los archivos de registro están en forma de edbXXXXX.log, donde XXXXX es un valor de dígito hexadecimal de cinco. Por ejemplo, edb00001.log es el primer archivo de registro creado por la base de datos interna. Para los fines de esta función, un valor de uno de genLow corresponde al archivo de registro edb00001.log.

[in] genHigh

Número de registro más alto que se restauró en esta sesión de restauración.

Valor devuelto

El valor devuelto es hrESULT. Un valor de S_OK indica que se ha realizado correctamente.

Comentarios

Use esta función para registrar una operación de restauración. Todas las operaciones de restauración posteriores se interbloquearán. Se impedirá que el destino de restauración se inicie (o ejecute correctamente otra llamada a CertSrvRestoreRegister) hasta que se llame a CertSrvRestoreRegisterComplete .

Al restaurar más de una copia de seguridad incremental, el orden en que se registran las copias de seguridad incrementales no importa. Sin embargo, la copia de seguridad completa de la base de datos debe registrarse antes de registrar las copias de seguridad incrementales.

Esta función requiere que la cuenta de llamada sea un administrador local. Si esto no es práctico, use la función CertSrvRestoreRegisterThroughFile en su lugar. La función CertSrvRestoreRegisterThroughFile solo requiere que la cuenta de llamada tenga el privilegio de restauración.

Ejemplos

// 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 Value
Cliente mínimo compatible No se admite ninguno
Servidor mínimo compatible Windows Server 2003 [solo aplicaciones de escritorio]
Plataforma de destino Windows
Encabezado certbcli.h (incluya Certsrv.h)
Library Certadm.lib
Archivo DLL Certadm.dll

Consulte también

CertSrvRestoreRegisterComplete

CertSrvRestoreRegisterThroughFile

Uso de las funciones de copia de seguridad y restauración de Servicios de certificados