Fungsi CertSrvBackupRead (certbcli.h)

Fungsi CertSrvBackupRead membaca byte dari file Layanan Sertifikat.

Sintaks

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

Parameter

[in] hbc

Handel ke konteks pencadangan Layanan Sertifikat.

[out] pvBuffer

Void pointer ke penyimpanan yang akan berisi byte yang dibaca dari file yang sedang dicadangkan.

[in] cbBuffer

Ukuran area penyimpanan yang dirujuk oleh pvBuffer.

[out] pcbRead

Penunjuk ke nilai DWORD yang menunjukkan jumlah byte aktual yang dibaca oleh CertSrvBackupRead. Jumlah byte yang dibaca dapat kurang dari ukuran area penyimpanan yang dialokasikan untuk pvBuffer jika akhir file telah tercapai.

Nilai kembali

Nilai yang dikembalikan adalah HRESULT. Nilai S_OK menunjukkan keberhasilan.

Keterangan

Setelah membuka file untuk tujuan pencadangan (menggunakan CertSrvBackupOpenFile), panggil CertSrvBackupRead untuk mengambil konten file, dan memanggil rutinitas khusus aplikasi untuk menulis konten ke media cadangan. CertSrvBackupRead dan rutinitas khusus aplikasi dapat ditempatkan dalam perulangan hingga semua byte file dibaca dan dicadangkan. Setelah selesai membaca file, tutup dengan memanggil CertSrvBackupClose.

Contoh


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

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Tidak ada yang didukung
Server minimum yang didukung Windows Server 2003 [hanya aplikasi desktop]
Target Platform Windows
Header certbcli.h (termasuk Certsrv.h)
Pustaka Certadm.lib
DLL Certadm.dll

Lihat juga

CertSrvBackupClose

CertSrvBackupOpenFile

Menggunakan Fungsi Pencadangan dan Pemulihan Layanan Sertifikat