Partager via


Fonction CertSrvBackupRead (certbcli.h)

La fonction CertSrvBackupRead lit les octets d’un fichier Certificate Services.

Syntaxe

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

Paramètres

[in] hbc

Handle dans un contexte de sauvegarde des services de certificats.

[out] pvBuffer

Pointeur Void vers le stockage qui contiendra des octets lus à partir du fichier en cours de sauvegarde.

[in] cbBuffer

Taille de la zone de stockage référencée par pvBuffer.

[out] pcbRead

Pointeur vers une valeur DWORD qui représente le nombre réel d’octets lus par CertSrvBackupRead. Le nombre d’octets lus peut être inférieur à la taille de la zone de stockage allouée à pvBuffer si la fin du fichier a été atteinte.

Valeur retournée

La valeur de retour est HRESULT. Une valeur de S_OK indique la réussite.

Remarques

Après avoir ouvert le fichier à des fins de sauvegarde ( à l’aide de CertSrvBackupOpenFile), appelez CertSrvBackupRead pour récupérer le contenu du fichier et appelez une routine spécifique à l’application pour écrire le contenu sur un support de sauvegarde. CertSrvBackupRead et la routine spécifique à l’application peuvent être placés dans une boucle jusqu’à ce que tous les octets du fichier soient lus et sauvegardés. Lorsque vous avez terminé de lire le fichier, fermez-le en appelant CertSrvBackupClose.

Exemples


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

Configuration requise

Condition requise Valeur
Client minimal pris en charge Aucun pris en charge
Serveur minimal pris en charge Windows Server 2003 [applications de bureau uniquement]
Plateforme cible Windows
En-tête certbcli.h (include Certsrv.h)
Bibliothèque Certadm.lib
DLL Certadm.dll

Voir aussi

CertSrvBackupClose

CertSrvBackupOpenFile

Utilisation des fonctions de sauvegarde et de restauration des services de certificat