次の方法で共有


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 を含む)
Library Certadm.lib
[DLL] Certadm.dll

こちらもご覧ください

CertSrvBackupClose

CertSrvBackupOpenFile

証明書サービスのバックアップと復元の機能の使用