dsAddSidHistoryA 函数 (ntdsapi.h)

DsAddSidHistory 函数从一个域中检索安全主体的主帐户安全标识符 (SID) ,并将其添加到另一个林中另一个域中安全主体的 sIDHistory 属性。 当源域处于 Windows 2000 本机模式时,此函数还会检索源主体的 sIDHistory 值,并将其添加到目标主体 sIDHistory

DsAddSidHistory 函数通过将现有安全主体的主帐户 SID 添加到不同林中域中主体的 sIDHistory 来执行安全敏感功能,从而有效地向后者授予对前者可访问的所有资源的访问权限。 有关此函数的使用和安全影响的详细信息,请参阅 Using DsAddSidHistory

语法

NTDSAPI DWORD DsAddSidHistoryA(
  [in] HANDLE                   hDS,
  [in] DWORD                    Flags,
  [in] LPCSTR                   SrcDomain,
  [in] LPCSTR                   SrcPrincipal,
  [in] LPCSTR                   SrcDomainController,
  [in] RPC_AUTH_IDENTITY_HANDLE SrcDomainCreds,
  [in] LPCSTR                   DstDomain,
  [in] LPCSTR                   DstPrincipal
);

参数

[in] hDS

包含从 DSBind 或 DSBindWithCred 函数获取的目录服务句柄。

[in] Flags

保留供将来使用。 设置为 NULL。

[in] SrcDomain

指向以 null 结尾的字符串的指针,该字符串指定要查询 SrcPrincipal 的 SID 的域的名称。

如果源域在 Windows Server 操作系统上运行, SrcDomain 可以是域名系统 (DNS) 名称(例如,fabrikam.com)或平面 NetBIOS(例如 Fabrikam、name)。 应尽可能使用 DNS 名称。

[in] SrcPrincipal

指向以 null 结尾的字符串的指针,该字符串指定源域中安全主体(用户或组)的名称。 此名称是与域相关的安全帐户管理器 (SAM) 名称,例如:evacorets。

[in] SrcDomainController

指向以 null 结尾的字符串的指针,该字符串指定源域中要用于安全检索源主体 SID 和审核生成的主域控制器 (PDC) Emulator 的名称。

如果此参数为 NULL,DSBindWithCred 将选择主域控制器。

SrcDomainController 可以是 DNS 名称,也可以是平面 NetBIOS 名称。 应尽可能使用 DNS 名称。

[in] SrcDomainCreds

包含一个标识句柄,该句柄表示在源域中具有管理权限的用户的标识和凭据。 若要获取此句柄,请调用 DsMakePasswordCredentials。 此用户必须是管理员或域管理员组的成员。 如果从远程计算机向目标 DC 发出此调用,则远程计算机和目标 DC 都必须支持 128 位加密,以保护凭据的隐私。 如果 128 位加密不可用,并且提供了 SrcDomainCreds ,则必须在目标 DC 上进行调用。

如果此参数为 NULL,则调用方凭据用于访问源域。

[in] DstDomain

指向以 null 结尾的字符串的指针,该字符串指定 DstPrincipal 所在的目标域的名称。 此名称可以是 DNS 名称(例如,fabrikam.com)或 NetBIOS 名称(例如 Fabrikam)。 目标域必须运行 Windows 2000 本机模式。

[in] DstPrincipal

指向以 null 结尾的字符串的指针,该字符串指定目标域中安全主体、用户或组的名称。 此相对于域的 SAM 名称标识其 sIDHistory 属性更新为 SrcPrincipal 的 SID 的主体。

返回值

返回 Win32 错误代码,其中包括以下内容。

注解

注意

ntdsapi.h 标头将 DsAddSidHistory 定义为别名,该别名根据 UNICODE 预处理器常量的定义自动选择此函数的 ANSI 或 Unicode 版本。 将非特定编码别名与非非特定编码的代码混合使用可能会导致不匹配,从而导致编译或运行时错误。 有关详细信息,请参阅 函数原型的约定

要求

要求
最低受支持的客户端 Windows Vista
最低受支持的服务器 Windows Server 2008
目标平台 Windows
标头 ntdsapi.h
Library Ntdsapi.lib
DLL Ntdsapi.dll

另请参阅

DSBind

DSBindWithCred

域控制器和复制管理功能

DsMakePasswordCredentials

使用 DsAddSidHistory

ldap_bind_s

ldap_open