Compartir a través de


Función CertSrvBackupRead (certbcli.h)

La función CertSrvBackupRead lee bytes de un archivo de Servicios de certificados.

Sintaxis

HRESULT CERTBCLI_API CertSrvBackupRead(
  [in]  HCSBC hbc,
  [out] VOID  *pvBuffer,
  [in]  DWORD cbBuffer,
  [out] DWORD *pcbRead
);

Parámetros

[in] hbc

Identificador de un contexto de copia de seguridad de Servicios de certificados.

[out] pvBuffer

Puntero void al almacenamiento que contendrá bytes leídos del archivo del que se realiza una copia de seguridad.

[in] cbBuffer

Tamaño del área de almacenamiento a la que hace referencia pvBuffer.

[out] pcbRead

Puntero a un valor DWORD que representa el número real de bytes leídos por CertSrvBackupRead. El número de bytes leídos puede ser menor que el tamaño del área de almacenamiento asignada a pvBuffer si se ha alcanzado el final del archivo.

Valor devuelto

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

Comentarios

Después de abrir el archivo con fines de copia de seguridad (mediante CertSrvBackupOpenFile), llame a CertSrvBackupRead para recuperar el contenido del archivo y llame a una rutina específica de la aplicación para escribir el contenido en un medio de copia de seguridad. CertSrvBackupRead y la rutina específica de la aplicación se pueden colocar en un bucle hasta que se lean y realicen copias de seguridad de todos los bytes del archivo. Cuando haya terminado de leer el archivo, ciérralo llamando a CertSrvBackupClose.

Ejemplos


#include <windows.h>
#include <stdio.h>
#include <Certbcli.h>

#define BUFFSIZE 524288

FNCERTSRVBACKUPREAD* pfnRead;
char * szBackupReadFunc = "CertSrvBackupRead";
BYTE       ReadBuff[BUFFSIZE];
DWORD      cbRead=0;
HRESULT    hr=0;

// Get the address for the desired function.    
// hInst was set by calling LoadLibrary for Certadm.dll.
pfnRead = (FNCERTSRVBACKUPREAD*)GetProcAddress(hInst,
                                          szBackupReadFunc);
if ( NULL == pfnRead )
{
    printf("Failed GetProcAddress - %s, error=%d\n",
           szBackupReadFunc,
           GetLastError() );
    exit(1); // Or other appropriate error action.
}

// Read the file.
// hCSBC represents an HCSBC used in
// an earlier call to CertSrvBackupOpenFile.
// To read the entire file, this code
// would be placed in a loop.
hr = pfnRead( hCSBC,
              &ReadBuff,
              BUFFSIZE,
              &cbRead );
if (FAILED(hr))
{
    printf("Failed pfnRead call [%x]\n", hr);
    exit(1); // Or other appropriate error action.
}

// Use the bytes read as needed. For example,
// in an application-specific routine to back
// up the file contents.
// ...

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

CertSrvBackupClose

CertSrvBackupOpenFile

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