Partager via


CertSrvBackupGetDatabaseNamesW, fonction (certbcli.h)

La fonction CertSrvBackupGetDatabaseNames récupère la liste des noms de fichiers de base de données des services de certificats qui doivent être sauvegardés pour le contexte de sauvegarde donné.

Syntaxe

HRESULT CERTBCLI_API CertSrvBackupGetDatabaseNamesW(
  [in]  HCSBC hbc,
  [out] PWSTR *ppwszzAttachmentInformation,
  [out] DWORD *pcbSize
);

Paramètres

[in] hbc

Handle vers un contexte de sauvegarde des services de certificats.

[out] ppwszzAttachmentInformation

Pointeur vers un pointeur WCHAR qui recevra la liste des noms de fichiers de base de données terminés par null. Il y a un caractère Null après chaque nom de fichier et un caractère Null supplémentaire à la fin de la liste. Le nom de fichier se présente sous la forme UNC « ## \\Server\SharePoint\... Path...\FileName.ext ». Les noms de répertoires auront la même forme, mais sans « \FileName.ext » de fin. Le texte « ## » indique un type de fichier de sauvegarde des services de certificats (CSBFT_*) et est stocké sous la forme d’un seul caractère Unicode non null préfixé sur chaque chemin UNC. La balise de type est définie dans Certbcli.h et peut être la valeur suivante pour cette fonction.

Valeur Signification
CSBFT_CERTSERVER_DATABASE
Nom du fichier de base de données des services de certificats, y compris le chemin d’accès.
 

Vous devez libérer cette mémoire allouée lorsque vous avez terminé en appelant CertSrvBackupFree. Avant d’appeler cette fonction, la définition de *ppwszzAttachmentInformation surNULL est facultative.

[out] pcbSize

Pointeur vers la valeur DWORD qui spécifie le nombre d’octets dans ppwszzAttachmentInformation.

Valeur retournée

La valeur de retour est un HRESULT. La valeur S_OK indique la réussite.

Remarques

Le nom de cette fonction dans le Certadm.dll est CertSrvBackupGetDatabaseNamesW. Vous devez utiliser cette forme de nom lors de l’appel de GetProcAddress. En outre, cette fonction est définie comme type FNCERTSRVBACKUPGETDATABASENAMESW dans le fichier d’en-tête Certbcli.h.

Exemples

FNCERTSRVBACKUPGETDATABASENAMESW* pfnGetDBNames;
char * szGetDBNamesFunc = "CertSrvBackupGetDatabaseNamesW";
WCHAR *    pwszzDBFiles;
DWORD      nListBytes=0;
HRESULT    hr=0;

// Get the address for the desired function.    
// hInst was set by calling LoadLibrary for Certadm.dll.
pfnGetDBNames = (FNCERTSRVBACKUPGETDATABASENAMESW*)
    GetProcAddress(hInst, szGetDBNamesFunc);

if ( NULL == pfnGetDBNames )
{
    printf("Failed GetProcAddress - %s, error=%d\n",
           szGetDBNamesFunc,
           GetLastError() );
    exit(1); // Or other appropriate error action.
}

// Determine the names of the database files.
// hCSBC was set by an earlier call to CertSrvBackupPrepare
hr = pfnGetDBNames(hCSBC, &pwszzDBFiles, &nListBytes);
if (FAILED(hr))
{
    printf("Failed pfnGetDBNames call [%x]\n", hr);
    exit(1); // Or other appropriate error action.
}
else
{
    printf("%d bytes for DB file names\n", nListBytes);
    WCHAR * pwszFile = pwszzDBFiles;
    // Process the list.
    while ( L'\0' != *pwszFile )
    {
        // Use the file name referenced by pwszFile.
        // Here it is merely displayed.
        printf("%02x: %ws\n", *pwszFile, &pwszFile[1]);
        // Move to the next database file name.
        // + 1 moves past the null terminator.
        pwszFile+=(wcslen(pwszFile)) + 1; 
    }
    // Free the allocated memory.
    // pfnBackupFree is the address of the 
    // CertSrvBackupFree function.
    pfnBackupFree(pwszzDBFiles);
}

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

CertSrvBackupFree

CertSrvBackupOpenFile

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