Compartilhar via


Função CertSrvBackupPrepareW (certbcli.h)

A função CertSrvBackupPrepare é usada para preparar um servidor dos Serviços de Certificados para operações de backup.

Sintaxe

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

Parâmetros

[in] pwszServerName

Um ponteiro para o nome do computador do servidor para se preparar para o backup online. Esse nome pode ser o nome NetBIOS ou o nome DNS.

[in] grbitJet

Valor usado pelo mecanismo de banco de dados; esse valor deve ser definido como zero.

[in] dwBackupFlags

Especifica o tipo de backup. Esse pode ser um dos valores a seguir.

Valor Significado
CSBACKUP_TYPE_FULL
Faça backup do banco de dados, dos logs e dos arquivos relacionados dos Serviços de Certificados.
CSBACKUP_TYPE_LOGS_ONLY
Faça backup apenas dos arquivos de log.

[out] phbc

Um ponteiro para um HCSBC (identificador de contexto de backup dos Serviços de Certificados).

Retornar valor

O valor retornado é um HRESULT. Um valor de S_OK indica êxito e *phbc será definido como um HCSBC que pode ser usado por outras APIs de backup dos Serviços de Certificados.

Comentários

Antes que um backup dos Serviços de Certificados possa ocorrer, é necessário criar um HCSBC por meio de CertSrvBackupPrepare. O HCSBC resultante é um parâmetro necessário das funções de backup dos Serviços de Certificados que podem ser usadas para listar, abrir, ler e fechar arquivos, bem como truncar os arquivos de log.

Nota Quando a sessão de backup é concluída, é necessário chamar CertSrvBackupEnd para liberar o HCSBC resultante da chamada para CertSrvBackupPrepare.
 
O nome dessa função no Certadm.dll é CertSrvBackupPrepareW. Você deve usar essa forma do nome ao chamar GetProcAddress. Além disso, essa função é definida como o tipo FNCERTSRVBACKUPPREPAREW no arquivo de cabeçalho Certbcli.h.

Para executar essa chamada, você deve ter o privilégio de backup. Para obter detalhes, consulte Configurando os privilégios de backup e restauração.

Exemplos

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);

Requisitos

Requisito Valor
Cliente mínimo com suporte Nenhum compatível
Servidor mínimo com suporte Windows Server 2003 [somente aplicativos da área de trabalho]
Plataforma de Destino Windows
Cabeçalho certbcli.h (inclua Certsrv.h)
Biblioteca Certadm.lib
DLL Certadm.dll

Confira também

CertSrvBackupEnd

Usando as funções de backup e restauração dos Serviços de Certificados