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


Функция 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 слишком велико.
 

Для преобразования кода NTSTATUS в код ошибки Windows можно использовать функцию LsaNtStatusToWinError.

Комментарии

Для получения всех сведений о доверии может потребоваться более одного вызова LsaEnumerateTrustedDomainsEx .

Использование параметра EnumerationContext для выполнения нескольких вызовов

  1. Задайте для переменной, на которую указывает элемент EnumerationContext , значение 0.
  2. Если LsaEnumerateTrustedDomainsEx возвращает STATUS_SUCCESS или STATUS_MORE_ENTRIES, вызовите функцию еще раз, передав значение EnumerationContext , возвращенное предыдущим вызовом.
  3. Перечисление завершается, когда функция возвращает STATUS_NO_MORE_ENTRIES.

Требования

Требование Значение
Минимальная версия клиента Windows XP [только классические приложения]
Минимальная версия сервера Windows Server 2003 [только классические приложения]
Целевая платформа Windows
Header ntsecapi.h
Библиотека Advapi32.lib
DLL Advapi32.dll

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

LSA_ENUMERATION_HANDLE

LsaFreeMemory

TRUSTED_DOMAIN_INFORMATION_EX