Partager via


Fonction CertSrvBackupPrepareW (certbcli.h)

La fonction CertSrvBackupPrepare est utilisée pour préparer un serveur des services de certificats pour les opérations de sauvegarde.

Syntaxe

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

Paramètres

[in] pwszServerName

Pointeur vers le nom de l’ordinateur du serveur pour préparer la sauvegarde en ligne. Ce nom peut être le nom NetBIOS ou le nom DNS.

[in] grbitJet

Valeur utilisée par le moteur de base de données ; cette valeur doit être définie sur zéro.

[in] dwBackupFlags

Spécifie le type de sauvegarde. Il peut s’agir de l’une des valeurs suivantes.

Valeur Signification
CSBACKUP_TYPE_FULL
Sauvegardez la base de données des services de certificats, les journaux et les fichiers associés.
CSBACKUP_TYPE_LOGS_ONLY
Sauvegardez les fichiers journaux uniquement.

[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 sera défini sur un HCSBC qui peut être utilisé par d’autres API de sauvegarde des services de certificat.

Remarques

Avant qu’une sauvegarde des services de certificats puisse se produire, il est nécessaire de créer un HCSBC au moyen de CertSrvBackupPrepare. Le HCSBC résultant est un paramètre nécessaire des fonctions de sauvegarde des services de certificat qui peuvent être utilisées pour répertorier, ouvrir, lire et fermer des fichiers, ainsi que pour tronquer les fichiers journaux.

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

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

Exemples

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

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

CertSrvBackupEnd

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