LsaEnumerateTrustedDomains 함수(ntsecapi.h)

LsaEnumerateTrustedDomains 함수는 로그온 자격 증명을 인증하기 위해 신뢰할 수 있는 도메인의 이름과 SID를 검색합니다. LsaEnumerateTrustedDomains는 Windows NT 4.0 이전 버전의 Windows NT 실행하는 시스템에서 사용하기 위한 것입니다. 다른 트러스트 열거 용도로 DsEnumerateDomainTrusts 를 사용합니다. 특히 LsaEnumerateTrustedDomains는 다음 중 하나 이상이 true인 경우에만 사용할 수 있습니다.

  • 호출 시스템이 Windows NT 4.0 또는 이전 버전의 Windows NT 실행 중입니다.
  • 대상 시스템(PolicyHandle 매개 변수를 사용하여 지정됨)은 Windows NT 4.0 이전 버전을 실행하는 도메인 컨트롤러입니다.
  • 호출 시스템이 Windows NT 4.0 이하 버전을 실행하고 있으며 도메인 컨트롤러가 아니며 대상 시스템은 호출 시스템의 도메인에 있는 도메인 컨트롤러입니다. 대상 시스템은 Windows 2000 및 Windows XP를 포함하여 모든 버전의 Windows NT 실행할 수 있습니다.

구문

NTSTATUS LsaEnumerateTrustedDomains(
  [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 액세스 권한이 있어야 합니다. 자세한 내용은 정책 개체 핸들 열기를 참조하세요.

[in] EnumerationContext

신뢰할 수 있는 모든 도메인을 열거하기 위해 여러 번 호출할 수 있는 열거형 핸들에 대한 포인터입니다. LsaEnumerateTrustedDomains에 대한 첫 번째 호출에서 EnumerationContext는 0으로 초기화된 변수를 가리킵니다. LsaEnumerateTrustedDomains에 대한 후속 호출에서 EnumerationContext는 이전 호출에서 반환된 열거형 핸들을 가리킵니다.

[out] Buffer

하나 이상의 신뢰할 수 있는 도메인의 이름 및 SID를 포함하는 LSA_TRUST_INFORMATION 구조체 배열에 대한 포인터를 받습니다.

더 이상 정보가 필요하지 않은 경우 반환된 포인터를 LsaFreeMemory에 전달합니다.

[in] PreferedMaximumLength

반환된 버퍼의 기본 설정 최대 크기(바이트)를 지정합니다. 이 정보는 대략적입니다. 반환된 실제 바이트 수가 이 값보다 클 수 있습니다.

[out] CountReturned

Buffer 매개 변수에 반환된 요소 수를 수신하는 변수에 대한 포인터입니다.

반환 값

함수가 성공하면 반환 값은 다음 NTSTATUS 값 중 하나입니다.

Description
STATUS_SUCCESS
열거형이 성공적으로 완료되었습니다.
STATUS_MORE_ENTRIES
호출에 성공했지만 더 신뢰할 수 있는 도메인을 열거할 수 있습니다. LsaEnumerateTrustedDomains를 다시 호출하여 EnumerationContext 매개 변수에 반환된 값을 전달합니다.
STATUS_NO_MORE_ENTRIES
열거할 신뢰할 수 있는 도메인이 더 이상 없습니다.
 

함수가 실패하면 반환 값은 NTSTATUS 코드입니다. 자세한 내용은 LSA 정책 함수 반환 값을 참조하세요.

LsaNtStatusToWinError 함수를 사용하여 NTSTATUS 코드를 Windows 오류 코드로 변환할 수 있습니다.

설명

도메인 컨트롤러가 Windows NT 4.0 이전 버전의 Windows NT 실행하는 도메인의 경우 LsaEnumerateTrustedDomains는 신뢰할 수 있는 모든 도메인 목록을 반환합니다. 릴리스 4.0을 포함하여 Windows NT 릴리스에서는 신뢰할 수 있는 모든 도메인을 직접 신뢰합니다.

Windows XP 및 Windows 2000 혼합 모드 도메인에서 도메인 컨트롤러는 Windows XP, Windows 2000 또는 Windows NT 실행할 수 있습니다. 따라서 혼합 모드 도메인에서는 일부 신뢰할 수 있는 도메인이 직접 신뢰할 수 있고 다른 도메인은 간접적으로 신뢰할 수 있습니다. 혼합 모드 도메인에서 시스템의 신뢰할 수 있는 도메인을 열거하는 경우 LsaEnumerateTrustedDomains 는 직접 신뢰할 수 있는 도메인만 반환합니다.

반면 Windows XP 및 Windows 2000 기본 모드 도메인에는 4.0 이전 버전을 Windows NT 실행하는 도메인에 구성원이 있을 수 있지만 Windows 2000 도메인 컨트롤러만 포함됩니다. 기본 모드 Windows XP 및 Windows 2000 도메인에서 시스템의 신뢰할 수 있는 도메인을 열거하는 경우 LsaEnumerateTrustedDomains 는 직접 신뢰할 수 있는 도메인과 간접적으로 신뢰할 수 있는 도메인을 모두 반환합니다.

모든 신뢰 정보를 검색하려면 LsaEnumerateTrustedDomains 호출이 하나 이상 필요할 수 있습니다. EnumerationContext 매개 변수를 사용하여 다음과 같이 여러 호출을 수행할 수 있습니다. 첫 번째 호출에서 EnumerationContext가 가리키는 변수를 0으로 설정합니다. LsaEnumerateTrustedDomains가 STATUS_SUCCESS 또는 STATUS_MORE_ENTRIES 반환하는 경우 함수를 다시 호출하여 이전 호출에서 반환된 EnumerationContext 값을 전달합니다. 함수가 STATUS_NO_MORE_ENTRIES 반환하면 열거형이 완료됩니다.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows XP [데스크톱 앱만 해당]
지원되는 최소 서버 Windows Server 2003 [데스크톱 앱만 해당]
대상 플랫폼 Windows
헤더 ntsecapi.h
라이브러리 Advapi32.lib
DLL Advapi32.dll

추가 정보

LSA_TRUST_INFORMATION

LsaEnumerateTrustedDomainsEx

LsaFreeMemory

LsaOpenPolicy