DsBackupGetDatabaseNames 函数

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

DsBackupGetDatabaseNames 函数获取要为给定备份上下文备份的数据库文件列表。

语法

HRESULT DsBackupGetDatabaseNames(
  _In_  HBC     hbc,
  _Out_ LPTSTR  *pszAttachmentInfo,
  _Out_ LPDWORD pcbSize
);

参数

hbc [in]

包含使用 DsBackupPrepare 函数获取的备份上下文句柄。

pszAttachmentInfo [out]

指向字符串指针的指针,该指针接收数据库文件名列表作为 UNC 路径。 在调用 DsBackupGetDatabaseNames 之前,此值必须初始化为 NULL

此列表接收单个以 null 结尾的字符串的双 null 终止列表。

此缓冲区由 DsBackupGetDatabaseNames 函数分配,在调用 DsBackupFree 函数不再需要该缓冲区时必须释放该缓冲区。

每个文件名的第一个字符包含标识名称类型的 BFT 常量之一 DsRestoreGetDatabaseLocations 函数仅提供以下类型的名称。

BFT_NTDS_DATABA标准版

该文件是 NTDS 数据库文件。 此文件应复制到还原数据时标识为BFT_NTDS_DATABA标准版的文件。

BFT_LOG

该文件是日志文件。 所有日志文件都会复制到还原数据时标识为 BFT_LOG_DIR 的目录。

BFT_PATCH_FILE

该文件是修补程序文件。 所有修补程序文件将复制到还原数据时标识为 BFT_CHECKPOINT_DIR 的目录。

输入 [out]

指向接收 pszAttachmentInfo 缓冲区大小(以字节为单位)的 DWORD 值的指针。

返回值

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

ERROR_ACCESS_DENIED

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

ERROR_INVALID_PARAMETER

hbcpszAttachmentInfocdSize 无效。

ERROR_NOT_ENOUGH_MEMORY

发生内存分配失败。

注解

DsBackupGetDatabaseNames 函数提供备份所需的数据库文件列表。 完整备份由数据库文件和 DsBackupGetBackupLogs 函数提供的日志文件组成。 不支持 Active Directory 服务器的增量备份。

要求

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

Ntdsbcli.lib
DLL
Ntdsbcli.dll
Unicode 和 ANSI 名称
DsBackupGetDatabaseNamesW (Unicode) 和 DsBackupGetDatabaseNamesA (ANSI)

另请参阅

DsBackupPrepare

DsBackupFree

DsBackupGetBackupLogs

BFT 常量

备份 Active Directory 服务器

目录备份函数