Функция DsRestoreGetDatabaseLocations
[Эта функция доступна для использования в операционных системах, указанных в разделе Требования. В последующих версиях он может быть изменен или недоступен. Начиная с Windows Vista, используйте службу теневого копирования томов (VSS ).]
Функция DsRestoreGetDatabaseLocations получает расположения, в которые необходимо скопировать файлы резервных копий во время операции восстановления.
Синтаксис
HRESULT DsRestoreGetDatabaseLocations(
_In_ HBC hbc,
_Out_ LPWSTR *pszDatabaseLocationList,
_Out_ LPDWORD pcbSize
);
Параметры
-
hbc [in]
-
Содержит дескриптор контекста восстановления, полученный с помощью функции DsRestorePrepare .
-
pszDatabaseLocationList [out]
-
Указатель на строковый указатель, который получает список расположений базы данных в виде UNC-путей. Этот список получает список строк с двойным завершением NULL.
Этот буфер выделяется функцией DsRestoreGetDatabaseLocations и должен быть освобожден, если он больше не требуется путем вызова функции DsBackupFree .
Первый символ каждого из имен файлов содержит одну из констант BFT , которая определяет тип имени. Функция DsRestoreGetDatabaseLocations предоставляет только следующие типы имен.
-
BFT_NTDS_DATABASE
-
Файл базы данных NTDS следует скопировать в этот файл. Это файл, который был определен как BFT_NTDS_DATABASE при выполнении резервного копирования.
-
BFT_LOG_DIR
-
Все файлы журнала копируются в этот каталог. Файлы журналов были определены как BFT_LOG при выполнении резервного копирования.
-
BFT_CHECKPOINT_DIR
-
Все файлы исправлений копируются в этот каталог. Файлы исправлений были определены как BFT_PATCH_FILE при выполнении резервного копирования.
pcbSize [out]
Указатель на значение DWORD , которое получает размер буфера pszDatabaseLocationList в байтах.
Возвращаемое значение
Возвращает S_OK , если функция выполнена успешно, или код ошибки Win32 или RPC в противном случае. В следующем списке перечислены возможные коды ошибок.
-
ERROR_ACCESS_DENIED
-
Вызывающий объект не имеет соответствующих прав доступа для вызова этой функции. С помощью функции DsSetAuthIdentity можно задать учетные данные, используемые для функций резервного копирования и восстановления.
-
ERROR_INVALID_PARAMETER
-
Недопустимы hbc, pszDatabaseLocationList или pcbSize .
-
ERROR_NOT_ENOUGH_MEMORY
-
Произошел сбой выделения памяти.
Комментарии
Функцию DsRestoreGetDatabaseLocations можно использовать для получения каталогов восстановления без доступа к резервным копиям данных. Для этого вызовите DsRestorePrepare со значением NULL для параметра pvExpiryToken . Это приводит к тому, что DsRestorePrepare возвращает дескриптор ограниченного контекста, который можно использовать только с функцией DsRestoreGetDatabaseLocations .
Требования
Требование | Значение |
---|---|
Минимальная версия клиента |
Windows Vista |
Минимальная версия сервера |
Windows Server 2008 |
Заголовок |
|
Библиотека |
|
DLL |
|
Имя в кодировке Юникод и ANSI |
DsRestoreGetDatabaseLocationsW (Юникод) и DsRestoreGetDatabaseLocationsA (ANSI) |