Partager via


Fonction CertSrvRestorePrepareW (certbcli.h)

La fonction CertSrvRestorePrepare prépare un instance Certificate Services pour les opérations de restauration.

Syntaxe

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

Paramètres

[in] pwszServerName

Pointeur vers le nom d’ordinateur du serveur pour préparer les opérations de restauration. Ce nom peut être le nom NetBIOS ou le nom DNS.

[in] dwRestoreFlags

Champ de bits qui représente la combinaison de valeurs dans le tableau suivant.

Valeur Signification
CSRESTORE_TYPE_FULL
Restaurez la base de données des services de certificats, les journaux et les fichiers associés.

[out] phbc

Pointeur vers un handle de contexte de sauvegarde des services de certificats (HCSBC).

Valeur retournée

La valeur de retour est un HRESULT. Une valeur de S_OK indique la réussite, et *phbc est défini sur un HCSBC, qui peut être utilisé par d’autres API de restauration des services de certificats.

Remarques

Avant qu’une opération de restauration des services de certificats puisse se produire, il est nécessaire de créer un HCSBC au moyen de CertSrvRestorePrepare. Ce HCSBC peut être utilisé par diverses fonctions de restauration des services de certificats.

Note Une fois la session de restauration terminée, il est nécessaire d’appeler CertSrvRestoreEnd pour libérer le HCSBC résultant de l’appel à CertSrvRestorePrepare.
 
Le nom de cette fonction dans Certadm.dll est CertSrvRestorePrepareW. Vous devez utiliser cette forme de nom lors de l’appel de GetProcAddress. En outre, cette fonction est définie comme type FNCERTSRVRESTOREPREPAREW dans le fichier d’en-tête Certbcli.h.

Pour exécuter cet appel, vous devez disposer du privilège de restauration. Pour plus d’informations, consultez Définition des privilèges de sauvegarde et de restauration.

Exemples

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

Configuration requise

Condition requise Valeur
Client minimal pris en charge Aucun pris en charge
Serveur minimal pris en charge Windows Server 2003 [applications de bureau uniquement]
Plateforme cible Windows
En-tête certbcli.h (include Certsrv.h)
Bibliothèque Certadm.lib
DLL Certadm.dll

Voir aussi

CertSrvRestoreEnd

GetProcAddress

Définition des privilèges de sauvegarde et de restauration

Utilisation des fonctions de sauvegarde et de restauration des services de certificat