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
Usando as funções de Backup e Restauração dos Serviços de Certificados