Поделиться через


Функция 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
Заголовок
Ntdsbcli.h
Библиотека
Ntdsbcli.lib
DLL
Ntdsbcli.dll
Имя в кодировке Юникод и ANSI
DsRestoreGetDatabaseLocationsW (Юникод) и DsRestoreGetDatabaseLocationsA (ANSI)

См. также раздел

DsRestorePrepare

DsBackupFree

Функции резервного копирования каталогов

Восстановление Active Directory