Condividi tramite


Funzione CertSrvBackupRead (certbcli.h)

La funzione CertSrvBackupRead legge i byte da un file di Servizi certificati.

Sintassi

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

Parametri

[in] hbc

Handle per un contesto di backup di Servizi certificati.

[out] pvBuffer

Puntatore void all'archiviazione che conterrà byte letti dal file di cui viene eseguito il backup.

[in] cbBuffer

Dimensioni dell'area di archiviazione a cui fa riferimento pvBuffer.

[out] pcbRead

Puntatore a un valore DWORD che rappresenta il numero effettivo di byte letti da CertSrvBackupRead. Il numero di byte letti può essere inferiore alle dimensioni dell'area di archiviazione allocata a pvBuffer se è stata raggiunta la fine del file.

Valore restituito

Il valore restituito è HRESULT. Il valore S_OK indica l'esito positivo.

Commenti

Dopo aver aperto il file a scopo di backup (usando CertSrvBackupOpenFile), chiamare CertSrvBackupRead per recuperare il contenuto del file e chiamare una routine specifica dell'applicazione per scrivere il contenuto in un supporto di backup. È possibile inserire CertSrvBackupRead e la routine specifica dell'applicazione in un ciclo fino a quando non vengono letti e sottoposti a backup tutti i byte del file. Al termine della lettura del file, chiuderlo chiamando CertSrvBackupClose.

Esempio


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

Requisiti

Requisito Valore
Client minimo supportato Nessuno supportato
Server minimo supportato Windows Server 2003 [solo app desktop]
Piattaforma di destinazione Windows
Intestazione certbcli.h (include Certsrv.h)
Libreria Certadm.lib
DLL Certadm.dll

Vedi anche

CertSrvBackupClose

CertSrvBackupOpenFile

Uso delle funzioni di backup e ripristino dei servizi certificati