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
Uso delle funzioni di backup e ripristino dei servizi certificati