Funzione CertSrvRestorePrepareW (certbcli.h)

La funzione CertSrvRestorePrepare prepara un'istanza di Servizi certificati per le operazioni di ripristino.

Sintassi

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

Parametri

[in] pwszServerName

Puntatore al nome del computer del server per preparare le operazioni di ripristino. Questo nome può essere il nome NetBIOS o il nome DNS.

[in] dwRestoreFlags

Campo di bit che rappresenta la combinazione di valori nella tabella seguente.

Valore Significato
CSRESTORE_TYPE_FULL
Ripristinare il database, i log e i file correlati di Servizi certificati.

[out] phbc

Puntatore a un handle del contesto di backup di Servizi certificati (HCSBC).

Valore restituito

Il valore restituito è HRESULT. Il valore S_OK indica l'esito positivo e *phbc è impostato su un HCSBC, che può essere usato da altre API di ripristino di Servizi certificati.

Commenti

Prima che si verifichi un'operazione di ripristino di Servizi certificati, è necessario creare un HCSBC tramite CertSrvRestorePrepare. Questo HCSBC può essere usato da varie funzioni di ripristino di Servizi certificati.

Nota Al termine della sessione di ripristino, è necessario chiamare CertSrvRestoreEnd per rilasciare HCSBC risultante dalla chiamata a CertSrvRestorePrepare.
 
Il nome di questa funzione in Certadm.dll è CertSrvRestorePrepareW. È necessario utilizzare questo formato del nome quando si chiama GetProcAddress. Questa funzione viene inoltre definita come tipo FNCERTSRVRESTOREPREPAREW nel file di intestazione Certbcli.h.

Per eseguire questa chiamata, è necessario disporre del privilegio di ripristino. Per altre informazioni, vedere Impostazione dei privilegi di backup e ripristino.

Esempio

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

Requisiti

Requisito Valore
Client minimo supportato Nessuno supportato
Server minimo supportato Windows Server 2003 [solo app desktop]
Piattaforma di destinazione Windows
Intestazione certbcli.h (include Certsrv.h)
Libreria Certadm.lib
DLL Certadm.dll

Vedi anche

CertSrvRestoreEnd

GetProcAddress

Impostazione dei privilegi di backup e ripristino

Uso delle funzioni di backup e ripristino dei servizi certificati