次の方法で共有


CertSrvRestorePrepareW 関数 (certbcli.h)

CertSrvRestorePrepare 関数は、復元操作用に Certificate Services インスタンスを準備します。

構文

HRESULT CERTBCLI_API CertSrvRestorePrepareW(
  [in]  WCHAR const *pwszServerName,
  [in]  ULONG       dwRestoreFlags,
  [out] HCSBC       *phbc
);

パラメーター

[in] pwszServerName

復元操作の準備を行うサーバーのコンピューター名へのポインター。 この名前には、NetBIOS 名または DNS 名を指定できます。

[in] dwRestoreFlags

次の表の値の組み合わせを表すビットフィールド。

意味
CSRESTORE_TYPE_FULL
Certificate Services データベース、ログ、および関連ファイルを復元します。

[out] phbc

Certificate Services バックアップ コンテキスト ハンドル (HCSBC) へのポインター。

戻り値

戻り値は HRESULT です。 値 S_OK は成功を示し、*phbcHCSBC に設定され、他の Certificate Services 復元 API で使用できます。

注釈

証明書サービスの復元操作を行う前に、CertSrvRestorePrepare を使用して HCSBC を作成する必要があります。 この HCSBC は、さまざまな Certificate Services 復元機能で使用できます。

メモ復元セッションが完了したら、CertSrvRestoreEnd を呼び出して、CertSrvRestorePrepare の呼び出しによって発生した HCSBC を解放する必要があります。
 
Certadm.dll のこの関数の名前は CertSrvRestorePrepareW ですGetProcAddress を呼び出すときは、この形式の名前を使用する必要があります。 また、この関数は Certbcli.h ヘッダー ファイルで FNCERTSRVRESTOREPREPAREW 型として定義されます。

この呼び出しを実行するには、復元 特権が必要です。 詳細については、「 バックアップと復元の特権の設定」を参照してください。

FNCERTSRVRESTOREPREPAREW*  pfnRestorePrepare;
char * szRestorePrepFunc = "CertSrvRestorePrepareW";
HCSBC      hCSBC=NULL;
HINSTANCE  hInst=0;
HRESULT    hr=0;

// Load the DLL.
hInst = LoadLibrary(L"Certadm.dll");
if ( NULL == hInst )
{
    printf("Failed LoadLibrary,error=%d\n",
           GetLastError() );
    exit(1); // Or other appropriate error action.
}

// Get the address for the desired function.
pfnRestorePrepare = (FNCERTSRVRESTOREPREPAREW*)GetProcAddress( hInst,
                                          szRestorePrepFunc );
if ( NULL == pfnRestorePrepare )
{
    printf("Failed GetProcAddress - %s, error=%d\n",
           szRestorePrepFunc,
           GetLastError() );
    exit(1); // Or other appropriate error action.
}

// Prepare CertServ for restoration.
hr = pfnRestorePrepare(wszServer,
                       CSRESTORE_TYPE_FULL,
                       &hCSBC);

if (FAILED(hr))
{
    printf("Failed pfnRestorePrepare call [%x]\n", hr);
    exit(1); // Or other appropriate error action.
}

// Use the HCSBC for restore operations.
// ...


// When done processing, release the HCSBC context
// by calling CertSrvRestoreEnd (not shown here).
// ...

// Free the DLL.
if (hInst)
    FreeLibrary(hInst);

要件

要件
サポートされている最小のクライアント サポートなし
サポートされている最小のサーバー Windows Server 2003 (デスクトップ アプリのみ)
対象プラットフォーム Windows
ヘッダー certbcli.h (Certsrv.h を含む)
Library Certadm.lib
[DLL] Certadm.dll

こちらもご覧ください

CertSrvRestoreEnd

GetProcAddress

バックアップと復元の特権の設定

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