Compartilhar via


Função CertSrvBackupRead (certbcli.h)

A função CertSrvBackupRead lê bytes de um arquivo dos Serviços de Certificados.

Sintaxe

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

Parâmetros

[in] hbc

Um identificador para um contexto de backup dos Serviços de Certificados.

[out] pvBuffer

Ponteiro void para armazenamento que conterá bytes lidos do arquivo que está sendo copiado em backup.

[in] cbBuffer

Tamanho da área de armazenamento referenciada por pvBuffer.

[out] pcbRead

Um ponteiro para um valor DWORD que representa o número real de bytes lidos por CertSrvBackupRead. O número de bytes lidos pode ser menor que o tamanho da área de armazenamento alocada para pvBuffer se o final do arquivo tiver sido atingido.

Retornar valor

O valor retornado é um HRESULT. Um valor de S_OK indica êxito.

Comentários

Depois de abrir o arquivo para fins de backup (usando CertSrvBackupOpenFile), chame CertSrvBackupRead para recuperar o conteúdo do arquivo e chame uma rotina específica do aplicativo para gravar o conteúdo em um meio de backup. CertSrvBackupRead e a rotina específica do aplicativo podem ser colocados em um loop até que todos os bytes do arquivo sejam lidos e com backup. Quando terminar de ler o arquivo, feche-o chamando CertSrvBackupClose.

Exemplos


#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 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

CertSrvBackupClose

CertSrvBackupOpenFile

Usando as funções de Backup e Restauração dos Serviços de Certificados