DsRestoreRegister 函数

[此函数可用于“要求”部分中指定的操作系统。 在后续版本中,它可能会被修改,也可能无法使用。 从 Windows Vista 开始,请改用卷影复制服务(VSS)。

DsRestoreRegister 函数注册还原操作。此函数会互锁所有后续还原操作,并阻止还原目标在调用 DsRestoreRegisterComplete 函数之前启动。

语法

HRESULT DsRestoreRegister(
  _In_ HBC        hbc,
  _In_ LPCTSTR    szCheckPointFilePath,
  _In_ LPCTSTR    szLogPath,
  _In_ EDB_RSTMAP rgrstmap[],
  _In_ LONG       crstmap,
  _In_ LPCTSTR    szBackupLogPath,
  _In_ ULONG      genLow,
  _In_ ULONG      genHigh
);

参数

hbc [in]

包含使用 DsRestorePrepare 函数获取的还原上下文句柄。

szCheckPointFilePath [in]

指向包含 检查point 文件路径的 null 终止字符串的指针。 此路径由 DsRestoreGetDatabaseLocations 函数提供,并且 BFT 值为 BFT_CHECKPOINT_DIR 这通常与系统数据库路径相同。 正确备份还原功能需要此路径。 此参数不能为 NULL在此参数中传递 NULL 将导致还原过程中出错。

szLogPath [in]

指向一个以 null 结尾的字符串的指针,其中包含日志文件将还原的路径。 此路径由 DsRestoreGetDatabaseLocations 函数提供,其 BFT 值为 BFT_LOG_DIR 如果路径指向空目录,将在那里创建新的日志文件。 此参数不能为 NULL

rgrstmap [in]

包含每个数据库的旧路径和新路径的EDB_RSTMAP结构的数组 每个数据库都有一个结构。 对于目录,系统数据库有一个结构,目录数据库有另一个结构。 数组中元素的顺序无关紧要。 crstmap 参数包含数组中的元素数。

crstmap [in]

包含 rgrstmap 数组中的元素数。

szBackupLogPath [in]

指向一个以 null 结尾的字符串的指针,该字符串包含备份日志文件当前所在的路径。 此参数不能为 NULL

genLow [in]

包含此还原会话中要还原的最低日志编号。 这是从0x00000到0xFFFFF范围内的十六进制数。

genHigh [in]

包含此还原会话中要还原的最高日志编号。 这是从0x00000到0xFFFFF范围内的十六进制数。

返回值

如果函数成功或 Win32 或 RPC 错误代码,则返回S_OK否则返回。 以下列表列出了可能的错误代码。

ERROR_ACCESS_DENIED

调用方没有调用此函数的适当访问权限。 DsSetAuthIdentity 函数可用于设置用于备份和还原函数的凭据。

ERROR_INVALID_PARAMETER

一个或多个参数无效。

hrMissingExpiryToken

提供给 DsRestorePrepare 的过期令牌无效。 此值在 Ntdsbmsg.h 中定义。

要求

要求
最低受支持的客户端
Windows Vista
最低受支持的服务器
Windows Server 2008
标头
Ntdsbcli.h

Ntdsbcli.lib
DLL
Ntdsbcli.dll
Unicode 和 ANSI 名称
DsRestoreRegisterW (Unicode) 和 DsRestoreRegisterA (ANSI)

另请参阅

DsRestoreRegisterComplete

DsRestorePrepare

DsRestoreGetDatabaseLocations

DsRestoreEnd

EDB_RSTMAP

还原 Active Directory

目录备份函数