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 |
---|---|
|
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
Utilisation des fonctions de sauvegarde et de restauration des services de certificat