Функция 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 восстановления служб сертификатов.

Комментарии

Перед выполнением операции восстановления служб сертификатов необходимо создать HCSBC с помощью CertSrvRestorePrepare. Этот HCSBC может использоваться различными функциями восстановления служб сертификатов.

Примечание После завершения сеанса восстановления необходимо вызвать CertSrvRestoreEnd , чтобы освободить HCSBC , полученный в результате вызова CertSrvRestorePrepare.
 
Имя этой функции в Certadm.dll — CertSrvRestorePrepareW. Эту форму имени необходимо использовать при вызове GetProcAddress. Кроме того, эта функция определена как тип FNCERTSRVRESTOREPREPAREW в файле заголовка Certbcli.h.

Чтобы выполнить этот вызов, необходимо иметь привилегию восстановления. Дополнительные сведения см. в разделе Настройка привилегий резервного копирования и восстановления.

Примеры

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
Header certbcli.h (включая Certsrv.h)
Библиотека Certadm.lib
DLL Certadm.dll

См. также раздел

CertSrvRestoreEnd

Функция GetProcAddress

Настройка привилегий резервного копирования и восстановления

Использование функций резервного копирования и восстановления служб сертификатов