Partager via


CertSrvBackupGetDynamicFileListW, fonction (certbcli.h)

La fonction CertSrvBackupGetDynamicFileList récupère la liste des noms de fichiers dynamiques des services de certificats qui doivent être sauvegardés pour le contexte de sauvegarde donné. Les fichiers dynamiques sont ceux qui ne sont pas inclus dans la sauvegarde de base de données Des services de certificats.

Syntaxe

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

Paramètres

[in] hbc

Handle vers un contexte de sauvegarde des services de certificats.

[out] ppwszzFileList

Pointeur vers un pointeur WCHAR qui recevra la liste des noms de fichiers dynamiques terminés par null utilisés par les services de certificats. 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 ». Lorsque vous avez terminé d’utiliser cette mémoire allouée, libérez-la en appelant la fonction CertSrvBackupFree .

Avant d’appeler cette fonction, la définition de *ppwszzFileList sur NULL est facultative.

[out] pcbSize

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

Valeur retournée

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

Remarques

Utilisez cette fonction pour récupérer une liste des noms de fichiers dynamiques des services de certificats. Ces fichiers sont distincts de la base de données des services de certificats et des fichiers journaux, et ils ne sont pas sauvegardés par les API de sauvegarde des services de certificats. Par conséquent, d’autres moyens doivent être utilisés pour sauvegarder les fichiers dynamiques. La liste de révocation de certificats (CRL) est un exemple de fichier dynamique des services de certificats.

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

Exemples

FNCERTSRVBACKUPGETDYNAMICFILELISTW* pfnGetDynFiles;
char * szGetDynFilesFunc = "CertSrvBackupGetDynamicFileListW";
WCHAR *    pwszzDynFiles;
DWORD      nListBytes=0;
HRESULT    hr=0;

// Get the address for the desired function.    
// hInst was set by calling LoadLibrary for Certadm.dll.
pfnGetDynFiles = (FNCERTSRVBACKUPGETDYNAMICFILELISTW*)
    GetProcAddress(hInst, szGetDynFilesFunc);
if ( NULL == pfnGetDynFiles )
{
    printf("Failed GetProcAddress - %s, error=%d\n",
           szGetDynFilesFunc,
           GetLastError() );
    exit(1); // Or other appropriate error action.
}

// Determine the names of the dynamic files.
// hCSBC was set by an earlier call to CertSrvBackupPrepare.
hr = pfnGetDynFiles(hCSBC, &pwszzDynFiles, &nListBytes);
if (FAILED(hr))
{
    printf("Failed pfnGetDynFiles call [%x]\n", hr);
    exit(1); // Or other appropriate error action.
}
else
{
    printf("%d bytes for dynamic file names\n", nListBytes);
    WCHAR * pwszFile = pwszzDynFiles;
    // Process the list.
    while ( L'\0' != *pwszFile )
    {
        // Use the file name referenced by pwszFile.
        // Here it is merely displayed.
        printf("%ws\n", pwszFile);
        // Move to the next dynamic 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(pwszzDynFiles);
}

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

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