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 |
|
Bibliothèque |
|
DLL |
|
Noms Unicode et ANSI |
DsRestoreGetDatabaseLocationsW (Unicode) et DsRestoreGetDatabaseLocationsA (ANSI) |