다음을 통해 공유


CertSrvBackupRead 함수(certbcli.h)

CertSrvBackupRead 함수는 Certificate Services 파일에서 바이트를 읽습니다.

구문

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

매개 변수

[in] hbc

Certificate Services 백업 컨텍스트에 대한 핸들입니다.

[out] pvBuffer

백업 중인 파일에서 읽은 바이트를 포함하는 스토리지에 대한 Void 포인터입니다.

[in] cbBuffer

pvBuffer에서 참조하는 스토리지 영역의 크기입니다.

[out] pcbRead

CertSrvBackupRead에서 읽은 실제 바이트 수를 나타내는 DWORD 값에 대한 포인터입니다. 파일의 끝에 도달한 경우 읽은 바이트 수가 pvBuffer 에 할당된 스토리지 영역의 크기보다 작을 수 있습니다.

반환 값

반환 값은 HRESULT입니다. S_OK 값은 성공을 나타냅니다.

설명

백업 목적으로 파일을 연 후( CertSrvBackupOpenFile 사용) CertSrvBackupRead 를 호출하여 파일 내용을 검색하고 애플리케이션별 루틴을 호출하여 콘텐츠를 백업 매체에 씁니다. CertSrvBackupRead 및 애플리케이션별 루틴은 파일의 모든 바이트를 읽고 백업할 때까지 루프에 배치할 수 있습니다. 파일 읽기가 완료되면 CertSrvBackupClose를 호출하여 파일을 닫습니다.

예제


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

요구 사항

요구 사항
지원되는 최소 클라이언트 지원되는 버전 없음
지원되는 최소 서버 Windows Server 2003 [데스크톱 앱만 해당]
대상 플랫폼 Windows
헤더 certbcli.h(Certsrv.h 포함)
라이브러리 Certadm.lib
DLL Certadm.dll

추가 정보

CertSrvBackupClose

CertSrvBackupOpenFile

인증서 서비스 백업 및 복원 함수 사용