Funzione CertSrvBackupGetDatabaseNamesW (certbcli.h)
La funzione CertSrvBackupGetDatabaseNames recupera l'elenco dei nomi di file di database di Servizi certificati che devono essere sottoposti a backup per il contesto di backup specificato.
Sintassi
HRESULT CERTBCLI_API CertSrvBackupGetDatabaseNamesW(
[in] HCSBC hbc,
[out] PWSTR *ppwszzAttachmentInformation,
[out] DWORD *pcbSize
);
Parametri
[in] hbc
Handle in un contesto di backup di Servizi certificati.
[out] ppwszzAttachmentInformation
Puntatore a un puntatore WCHAR che riceverà l'elenco di nomi di file di database con terminazione null. È presente un carattere Null dopo ogni nome di file e un carattere null aggiuntivo alla fine dell'elenco. Il nome del file sarà nel formato UNC "## \\Server\SharePoint\... Path...\FileName.ext". I nomi di directory avranno lo stesso modulo, ma senza il finale "\FileName.ext". Il testo "##" indica un tipo di file di backup di Servizi certificati (CSBFT_*) e viene archiviato come un singolo carattere Unicode non null preceduto da ogni percorso UNC. Il tag di tipo è definito in Certbcli.h e può essere il valore seguente per questa funzione.
Valore | Significato |
---|---|
|
Nome del file di database di Servizi certificati, incluso il percorso. |
È necessario liberare questa memoria allocata quando eseguita chiamando CertSrvBackupFree. Prima di chiamare questa funzione, l'impostazione di *ppwszzAttachmentInformation su NULL è facoltativa.
[out] pcbSize
Puntatore al valore DWORD che specifica il numero di byte in ppwszzAttachmentInformation.
Valore restituito
Il valore restituito è un HRESULT. Un valore di S_OK indica l'esito positivo.
Commenti
Il nome della funzione nel Certadm.dll è CertSrvBackupGetDatabaseNamesW. È necessario usare questo formato del nome quando si chiama GetProcAddress. Questa funzione viene inoltre definita come tipo FNCERTSRVBACKUPGETDATABASENAMESW nel file di intestazione Certbcli.h.
Esempio
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);
}
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Nessuno supportato |
Server minimo supportato | Windows Server 2003 [solo app desktop] |
Piattaforma di destinazione | Windows |
Intestazione | certbcli.h (includere Certsrv.h) |
Libreria | Certadm.lib |
DLL | Certadm.dll |
Vedi anche
Uso delle funzioni di backup e ripristino dei servizi certificati