LsaEnumerateTrustedDomainsEx 函数 (ntsecapi.h)

LsaEnumerateTrustedDomainsEx 函数返回有关本地系统信任的域的信息。LsaEnumerateTrustedDomainsEx 仅返回有关直接信任的信息。 出于更完整的信任枚举目的,建议使用 DsEnumerateDomainTrusts

语法

NTSTATUS LsaEnumerateTrustedDomainsEx(
  [in]  LSA_HANDLE              PolicyHandle,
  [in]  PLSA_ENUMERATION_HANDLE EnumerationContext,
  [out] PVOID                   *Buffer,
  [in]  ULONG                   PreferedMaximumLength,
  [out] PULONG                  CountReturned
);

参数

[in] PolicyHandle

Policy 对象的句柄。 此调用需要POLICY_VIEW_LOCAL_INFORMATION Policy 对象的访问权限 。 有关详细信息,请参阅 打开策略对象句柄

[in] EnumerationContext

指向 LSA_ENUMERATION_HANDLE 的指针,可用于对 LsaEnumerateTrustedDomainsEx 进行多次调用,以检索所有受信任的域信息。 有关详细信息,请参阅“备注”。

[out] Buffer

指向一个缓冲区的指针,该缓冲区接收 包含 有关枚举受信任域的信息TRUSTED_DOMAIN_INFORMATION_EX结构的列表。

当不再需要此缓冲区时,应用程序应通过调用 LsaFreeMemory 释放此缓冲区。

[in] PreferedMaximumLength

返回数据的首选最大长度(以字节为单位)。 这不是硬性上限,而是作为指导。 由于具有不同自然数据大小的系统之间的数据转换,返回的实际数据量可能大于此值。

[out] CountReturned

指向接收返回的受信任域对象数的 LONG 的指针。

返回值

如果函数成功,该函数将返回STATUS_SUCCESS。

如果函数失败,它将返回 NTSTATUS 代码,该代码可以是下列值之一或 LSA 策略函数返回值之一。

说明
STATUS_ACCESS_DENIED
调用方没有完成操作的适当访问权限。
STATUS_NO_MORE_ENTRIES
不再有条目。 如果由于 EnumerationContext 值过高而未枚举任何对象,则返回此警告。
 

可以使用 LsaNtStatusToWinError 函数将 NTSTATUS 代码转换为 Windows 错误代码。

注解

检索所有信任信息可能需要多个 LsaEnumerateTrustedDomainsEx 调用。

使用 EnumerationContext 参数进行多次调用

  1. EnumerationContext 指向的变量设置为零。
  2. 如果 LsaEnumerateTrustedDomainsEx 返回STATUS_SUCCESS或STATUS_MORE_ENTRIES,请再次调用函数,并传入上一次调用返回的 EnumerationContext 值。
  3. 当函数返回STATUS_NO_MORE_ENTRIES时,枚举完成。

要求

要求
最低受支持的客户端 Windows XP [仅限桌面应用]
最低受支持的服务器 Windows Server 2003 [仅限桌面应用]
目标平台 Windows
标头 ntsecapi.h
Library Advapi32.lib
DLL Advapi32.dll

另请参阅

LSA_ENUMERATION_HANDLE

LsaFreeMemory

TRUSTED_DOMAIN_INFORMATION_EX