Compartilhar via


Função CertSrvRestorePrepareW (certbcli.h)

A função CertSrvRestorePrepare prepara uma instância dos Serviços de Certificados para operações de restauração.

Sintaxe

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

Parâmetros

[in] pwszServerName

Um ponteiro para o nome do computador do servidor para se preparar para operações de restauração. Esse nome pode ser o nome NetBIOS ou o nome DNS.

[in] dwRestoreFlags

Um campo de bits que representa a combinação de valores na tabela a seguir.

Valor Significado
CSRESTORE_TYPE_FULL
Restaurar banco de dados, logs e arquivos relacionados dos Serviços de Certificados.

[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 é definido como um HCSBC, que pode ser usado por outras APIs de restauração dos Serviços de Certificados.

Comentários

Antes que uma operação de restauração dos Serviços de Certificados possa ocorrer, é necessário criar um HCSBC por meio de CertSrvRestorePrepare. Esse HCSBC pode ser usado por várias funções de restauração dos Serviços de Certificados.

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

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

Exemplos

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

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

CertSrvRestoreEnd

GetProcAddress

Definindo os privilégios de backup e restauração

Usando as funções de Backup e Restauração dos Serviços de Certificados