Поделиться через


Функция CertSrvBackupPrepareW (certbcli.h)

Функция CertSrvBackupPrepare используется для подготовки сервера служб сертификатов к операциям резервного копирования.

Синтаксис

HRESULT CERTBCLI_API CertSrvBackupPrepareW(
  [in]  WCHAR const *pwszServerName,
  [in]  ULONG       grbitJet,
  [in]  ULONG       dwBackupFlags,
  [out] HCSBC       *phbc
);

Параметры

[in] pwszServerName

Указатель на имя компьютера сервера для подготовки к оперативному резервному копированию. Это может быть NetBIOS-имя или DNS-имя.

[in] grbitJet

Значение, используемое ядром СУБД; это значение должно быть равно нулю.

[in] dwBackupFlags

Указывает тип резервного копирования. Это может быть одно из следующих значений.

Значение Значение
CSBACKUP_TYPE_FULL
Создайте резервную копию базы данных служб сертификатов, журналов и связанных файлов.
CSBACKUP_TYPE_LOGS_ONLY
Создайте резервную копию только файлов журнала.

[out] phbc

Указатель на дескриптор контекста резервного копирования служб сертификатов (HCSBC).

Возвращаемое значение

Возвращаемое значение — HRESULT. Значение S_OK указывает на успешное выполнение, а *phbc будет иметь значение HCSBC , которое может использоваться другими API резервного копирования служб сертификатов.

Комментарии

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

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

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

Примеры

WCHAR *    wszServer = L"MyCertServerMachine";
FNCERTSRVBACKUPPREPAREW* pfnBackupPrepare;
char * szBackPrepFunc = "CertSrvBackupPrepareW";
HINSTANCE  hInst=0;
HCSBC      hCSBC=NULL;
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.
pfnBackupPrepare = (FNCERTSRVBACKUPPREPAREW*)GetProcAddress( hInst,
                                        szBackPrepFunc );
if ( NULL == pfnBackupPrepare )
{
    printf("Failed GetProcAddress - %s, error=%d\n",
           szBackPrepFunc,
           GetLastError() );
    exit(1); // Or other appropriate error action.
}

// Prepare CertServ for backup.
hr = pfnBackupPrepare(wszServer,
                      0,
                      CSBACKUP_TYPE_FULL,
                      &hCSBC);
if (FAILED(hr))
{
    printf("Failed pfnBackupPrepare call [%x]\n", hr);
    exit(1); // Or other appropriate error action.
}

// Use the HCSBC for backup operations.
// ...

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


// Done processing, free the DLL.
if (hInst)
    FreeLibrary(hInst);

Требования

Требование Значение
Минимальная версия клиента Ни одна версия не поддерживается
Минимальная версия сервера Windows Server 2003 [только классические приложения]
Целевая платформа Windows
Header certbcli.h (включая Certsrv.h)
Библиотека Certadm.lib
DLL Certadm.dll

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

CertSrvBackupEnd

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