Partager via


Fonction DsRestoreGetDatabaseLocations

[Cette fonction peut être utilisée dans les systèmes d’exploitation spécifiés dans la section Configuration requise. Il sera peut-être modifié ou indisponible dans les versions ultérieures. À compter de Windows Vista, utilisez le service VSS (Volume Shadow Copy Service) à la place.]

La fonction DsRestoreGetDatabaseLocations obtient les emplacements où les fichiers de sauvegarde doivent être copiés pendant une opération de restauration.

Syntaxe

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

Paramètres

hbc [in]

Contient le handle de contexte de restauration obtenu avec la fonction DsRestorePrepare .

pszDatabaseLocationList [out]

Pointeur vers un pointeur de chaîne qui reçoit la liste des emplacements de base de données en tant que chemins UNC. Cette liste reçoit une liste de chaînes simples terminées par null.

Cette mémoire tampon est allouée par la fonction DsRestoreGetDatabaseLocations et doit être libérée quand elle n’est plus nécessaire en appelant la fonction DsBackupFree .

Le premier caractère de chacun des noms de fichier contient l’une des constantes BFT qui identifient le type de nom. La fonction DsRestoreGetDatabaseLocations fournit uniquement les types de noms suivants.

BFT_NTDS_DATABASE

Le fichier de base de données NTDS doit être copié dans ce fichier. Il s’agit du fichier qui a été identifié comme BFT_NTDS_DATABASE lors de l’exécution de la sauvegarde.

BFT_LOG_DIR

Tous les fichiers journaux sont copiés dans ce répertoire. Les fichiers journaux ont été identifiés comme BFT_LOG lors de la sauvegarde.

BFT_CHECKPOINT_DIR

Tous les fichiers de correctifs sont copiés dans ce répertoire. Les fichiers correctifs ont été identifiés comme BFT_PATCH_FILE lors de la sauvegarde.

pcbSize [out]

Pointeur vers la valeur DWORD qui reçoit la taille, en octets, de la mémoire tampon pszDatabaseLocationList .

Valeur retournée

Retourne S_OK si la fonction réussit ou si un code d’erreur Win32 ou RPC est différent. La liste suivante répertorie les codes d’erreur possibles.

ERROR_ACCESS_DENIED

L’appelant ne dispose pas des privilèges d’accès appropriés pour appeler cette fonction. La fonction DsSetAuthIdentity peut être utilisée pour définir les informations d’identification à utiliser pour les fonctions de sauvegarde et de restauration.

ERROR_INVALID_PARAMETER

hbc, pszDatabaseLocationList ou pcbSize ne sont pas valides.

ERROR_NOT_ENOUGH_MEMORY

Un échec d’allocation de mémoire s’est produit.

Notes

La fonction DsRestoreGetDatabaseLocations peut être utilisée pour obtenir les répertoires de restauration sans accéder aux données sauvegardées. Pour ce faire, appelez DsRestorePrepare avec NULL pour le paramètre pvExpiryToken . DsRestorePrepare retourne alors un handle de contexte restreint qui ne peut être utilisé qu’avec la fonction DsRestoreGetDatabaseLocations.

Spécifications

Condition requise Valeur
Client minimal pris en charge
Windows Vista
Serveur minimal pris en charge
Windows Server 2008
En-tête
Ntdsbcli.h
Bibliothèque
Ntdsbcli.lib
DLL
Ntdsbcli.dll
Noms Unicode et ANSI
DsRestoreGetDatabaseLocationsW (Unicode) et DsRestoreGetDatabaseLocationsA (ANSI)

Voir aussi

DsRestorePrepare

DsBackupFree

Fonctions de sauvegarde d’annuaire

Restauration d’Active Directory