CertSrvRestorePrepareW 函式 (certbcli.h)

CertSrvRestorePrepare 函式會準備用於還原作業的憑證服務實例。

語法

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

參數

[in] pwszServerName

要準備還原作業之伺服器之計算機名稱的指標。 此名稱可以是 NetBIOS 名稱或 DNS 名稱。

[in] dwRestoreFlags

位欄位欄位,表示下表中的值組合。

意義
CSRESTORE_TYPE_FULL
還原憑證服務資料庫、記錄和相關檔案。

[out] phbc

憑證服務備份內容句柄的指標, (HCSBC) 。

傳回值

傳回值為 HRESULT。 S_OK值表示成功,而 *phbc 設定為 HCSBC,可供其他憑證服務還原 API 使用。

備註

在憑證服務還原作業發生之前,您必須使用 CertSrvRestorePrepare 建立 HCSBC。 此 HCSBC 可供各種憑證服務還原功能使用。

注意還原會話完成時,必須呼叫 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)
程式庫 Certadm.lib
Dll Certadm.dll

另請參閱

CertSrvRestoreEnd

GetProcAddress

設定備份和還原許可權

使用憑證服務備份和還原函式