Condividi tramite


Funzione DsRestoreGetDatabaseLocations

[Questa funzione è disponibile per l'uso nei sistemi operativi specificati nella sezione Requisiti. È possibile che in versioni successive sia stata modificata o non sia più disponibile. A partire da Windows Vista, usare invece il servizio Copia Shadow del volume (VSS ).

La funzione DsRestoreGetDatabaseLocations ottiene i percorsi in cui copiare i file di backup durante un'operazione di ripristino.

Sintassi

HRESULT DsRestoreGetDatabaseLocations(
  _In_  HBC     hbc,
  _Out_ LPWSTR  *pszDatabaseLocationList,
  _Out_ LPDWORD pcbSize
);

Parametri

hbc [in]

Contiene l'handle del contesto di ripristino ottenuto con la funzione DsRestorePrepare .

pszDatabaseLocationList [out]

Puntatore a un puntatore di stringa che riceve l'elenco di percorsi di database come percorsi UNC. Questo elenco riceve un elenco con terminazione Null doppia di stringhe con terminazione Null singola.

Questo buffer viene allocato dalla funzione DsRestoreGetDatabaseLocations e deve essere liberato quando non è più necessario chiamando la funzione DsBackupFree .

Il primo carattere di ognuno dei nomi di file contiene una delle costanti BFT che identificano il tipo di nome. La funzione DsRestoreGetDatabaseLocations fornisce solo i tipi di nome seguenti.

BFT_NTDS_DATABASE

Il file di database NTDS deve essere copiato in questo file. Si tratta del file identificato come BFT_NTDS_DATABASE quando è stato eseguito il backup.

BFT_LOG_DIR

Tutti i file di log vengono copiati in questa directory. I file di log sono stati identificati come BFT_LOG quando è stato eseguito il backup.

BFT_CHECKPOINT_DIR

Tutti i file patch vengono copiati in questa directory. I file di patch sono stati identificati come BFT_PATCH_FILE quando è stato eseguito il backup.

pcbSize [out]

Puntatore al valore DWORD che riceve le dimensioni, in byte, del buffer pszDatabaseLocationList .

Valore restituito

Restituisce S_OK se la funzione ha esito positivo o un codice di errore Win32 o RPC in caso contrario. Nell'elenco seguente sono elencati i possibili codici di errore.

ERROR_ACCESS_DENIED

Il chiamante non dispone dei privilegi di accesso appropriati per chiamare questa funzione. La funzione DsSetAuthIdentity può essere usata per impostare le credenziali da usare per le funzioni di backup e ripristino.

ERROR_INVALID_PARAMETER

hbc, pszDatabaseLocationList o pcbSize non sono validi.

ERROR_NOT_ENOUGH_MEMORY

Si è verificato un errore di allocazione della memoria.

Commenti

La funzione DsRestoreGetDatabaseLocations può essere usata per ottenere le directory di ripristino senza accedere ai dati di cui è stato eseguito il backup. A tale scopo, chiamare DsRestorePrepare con NULL per il parametro pvExpiryToken . In questo modo DsRestorePrepare restituisce un handle di contesto con restrizioni che può essere usato solo con la funzione DsRestoreGetDatabaseLocations .

Requisiti

Requisito Valore
Client minimo supportato
Windows Vista
Server minimo supportato
Windows Server 2008
Intestazione
Ntdsbcli.h
Libreria
Ntdsbcli.lib
DLL
Ntdsbcli.dll
Nomi Unicode e ANSI
DsRestoreGetDatabaseLocationsW (Unicode) e DsRestoreGetDatabaseLocationsA (ANSI)

Vedi anche

DsRestorePrepare

DsBackupFree

Funzioni di backup della directory

Ripristino di Active Directory