Condividi tramite


Funzione CertSrvRestoreGetDatabaseLocationsW (certbcli.h)

La funzione CertSrvRestoreGetDatabaseLocations viene usata sia negli scenari di backup che di ripristino e recupera l'elenco dei nomi dei percorsi del database di Servizi certificati per tutti i file sottoposti a backup o ripristino.

Sintassi

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

Parametri

[in] hbc

Handle in un contesto di backup o ripristino di Servizi certificati.

[out] ppwszzDatabaseLocationList

Puntatore a un puntatore WCHAR per ricevere l'elenco di nomi di percorso del database con terminazione null, nome della directory di log e nome della directory di sistema (o checkpoint). È presente un carattere Null dopo ogni nome e un carattere Null aggiuntivo alla fine dell'elenco. Il nome della posizione sarà nel modulo 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 uno dei valori seguenti per questa funzione.

Valore Significato
CSBFT_CERTSERVER_DATABASE
Nome del file di database di Servizi certificati, incluso il percorso.
CSBFT_CHECKPOINT_DIR
Directory del database di Servizi certificati (o checkpoint).
CSBFT_LOG_DIR
Directory del log del database di Servizi certificati.
 

È necessario liberare questa memoria allocata quando eseguita chiamando CertSrvBackupFree.

L'impostazione di *ppwszzDatabaseLocationList su NULL prima di chiamare questa funzione è facoltativa.

[out] pcbSize

Puntatore al valore DWORD che specifica il numero di byte in ppwszzDatabaseLocationList.

Valore restituito

Il valore restituito è un HRESULT. Un valore di S_OK indica l'esito positivo.

Commenti

I servizi certificati devono essere in esecuzione per il successo di questo metodo.

Il nome della funzione in Certadm.dll è CertSrvRestoreGetDatabaseLocationsW. È necessario usare questo formato del nome quando si chiama GetProcAddress. Questa funzione viene inoltre definita come tipo FNCERTSRVRESTOREGETDATABASELOCATIONSW nel file di intestazione Certbcli.h.

Esempio

FNCERTSRVRESTOREGETDATABASELOCATIONSW* pfnGetDBLocs;
char *  szGetDBLocsFunc = "CertSrvRestoreGetDatabaseLocationsW";
WCHAR * pwszzDBLocs;
DWORD   nListBytes=0;
HRESULT hr=0;

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

// Determine the names of the database locations.
// hCSBC was set by an earlier call to CertSrvRestorePrepare.
hr = pfnGetDBLocs(hCSBC, &pwszzDBLocs, &nListBytes);
if (FAILED(hr))
{
    printf("Failed pfnGetDBLocs call [%x]\n", hr);
    exit(1); // Or other appropriate error action.
}
else
{
    printf("%d bytes for DB locations\n", nListBytes);
    WCHAR * pwszFile = pwszzDBLocs;
    // 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(pwszzDBLocs);
}

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

CertSrvBackupFree

Uso delle funzioni di backup e ripristino dei servizi certificati