Freigeben über


CertSrvBackupRead-Funktion (certbcli.h)

Die CertSrvBackupRead-Funktion liest Bytes aus einer Certificate Services-Datei.

Syntax

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

Parameter

[in] hbc

Ein Handle für einen Zertifikatdienste-Sicherungskontext.

[out] pvBuffer

Void-Zeiger auf den Speicher, der Bytes enthält, die aus der zu sichernden Datei gelesen werden.

[in] cbBuffer

Größe des Speicherbereichs, auf den von pvBuffer verwiesen wird.

[out] pcbRead

Ein Zeiger auf einen DWORD-Wert , der die tatsächliche Anzahl der von CertSrvBackupRead gelesenen Bytes darstellt. Die Anzahl der gelesenen Bytes kann kleiner sein als die Größe des Speicherbereichs, der pvBuffer zugeordnet ist, wenn das Ende der Datei erreicht wurde.

Rückgabewert

Der Rückgabewert ist ein HRESULT. Ein Wert von S_OK gibt den Erfolg an.

Hinweise

Rufen Sie nach dem Öffnen der Datei zu Sicherungszwecken (mithilfe von CertSrvBackupOpenFile) CertSrvBackupRead auf, um den Inhalt der Datei abzurufen, und rufen Sie eine anwendungsspezifische Routine auf, um den Inhalt auf ein Sicherungsmedium zu schreiben. CertSrvBackupRead und die anwendungsspezifische Routine können in einer Schleife platziert werden, bis alle Bytes der Datei gelesen und gesichert werden. Wenn Sie die Datei gelesen haben, schließen Sie sie, indem Sie CertSrvBackupClose aufrufen.

Beispiele


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

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Nicht unterstützt
Unterstützte Mindestversion (Server) Windows Server 2003 [nur Desktop-Apps]
Zielplattform Windows
Kopfzeile certbcli.h (include Certsrv.h)
Bibliothek Certadm.lib
DLL Certadm.dll

Weitere Informationen

CertSrvBackupClose

CertSrvBackupOpenFile

Verwenden der Sicherungs- und Wiederherstellungsfunktionen für Zertifikatdienste