LookupAccountNameA 함수(winbase.h)

LookupAccountName 함수는 시스템 및 계정의 이름을 입력으로 허용합니다. 계정의 SID( 보안 식별자 )와 계정이 발견된 도메인의 이름을 검색합니다.

LsaLookupNames 함수는 컴퓨터 계정을 검색할 수도 있습니다.

구문

BOOL LookupAccountNameA(
  [in, optional]  LPCSTR        lpSystemName,
  [in]            LPCSTR        lpAccountName,
  [out, optional] PSID          Sid,
  [in, out]       LPDWORD       cbSid,
  [out, optional] LPSTR         ReferencedDomainName,
  [in, out]       LPDWORD       cchReferencedDomainName,
  [out]           PSID_NAME_USE peUse
);

매개 변수

[in, optional] lpSystemName

시스템 이름을 지정하는 null로 끝나는 문자열에 대한 포인터입니다. 이 문자열은 원격 컴퓨터의 이름일 수 있습니다. 이 문자열이 NULL이면 로컬 시스템에서 계정 이름 변환이 시작됩니다. 로컬 시스템에서 이름을 확인할 수 없는 경우 이 함수는 로컬 시스템에서 신뢰할 수 있는 도메인 컨트롤러를 사용하여 이름을 resolve 시도합니다. 일반적으로 계정이 신뢰할 수 없는 도메인에 있고 해당 도메인의 컴퓨터 이름이 알려진 경우에만 lpSystemName 값을 지정합니다.

[in] lpAccountName

계정 이름을 지정하는 null로 끝나는 문자열에 대한 포인터입니다.

domain_name\user_name 형식의 정규화된 문자열을 사용하여 LookupAccountName 이 원하는 도메인에서 계정을 찾도록 합니다.

[out, optional] Sid

lpAccountName 매개 변수가 가리키는 계정 이름에 해당하는 SID 구조를 수신하는 버퍼에 대한 포인터입니다. 이 매개 변수가 NULL인 경우 cbSid 는 0이어야 합니다.

[in, out] cbSid

변수에 대한 포인터입니다. 입력 시 이 값은 Sid 버퍼의 크기(바이트)를 지정합니다. 버퍼가 너무 작거나 cbSid 가 0인 경우 함수가 실패하면 이 변수는 필요한 버퍼 크기를 받습니다.

[out, optional] ReferencedDomainName

계정 이름이 있는 도메인의 이름을 수신하는 버퍼에 대한 포인터입니다. 도메인에 가입되지 않은 컴퓨터의 경우 이 버퍼는 컴퓨터 이름을 받습니다. 이 매개 변수가 NULL이면 함수는 필요한 버퍼 크기를 반환합니다.

[in, out] cchReferencedDomainName

변수에 대한 포인터입니다. 입력 시 이 값은 ReferencedDomainName 버퍼의 크기(TCHAR)를 지정합니다. 버퍼가 너무 작기 때문에 함수가 실패하면 이 변수는 종료 null 문자를 포함하여 필요한 버퍼 크기를 받습니다. ReferencedDomainName 매개 변수가 NULL이면 이 매개 변수는 0이어야 합니다.

[out] peUse

함수가 반환될 때 계정의 형식을 나타내는 SID_NAME_USE 열거형 형식에 대한 포인터입니다.

반환 값

함수가 성공하면 함수는 0이 아닌 값을 반환합니다.

함수가 실패하면 0을 반환합니다. 확장된 오류 정보는 GetLastError를 호출합니다.

설명

LookupAccountName 함수는 먼저 잘 알려진 SID 목록을 확인하여 지정된 이름의 SID를 찾으려고 시도합니다. 이름이 잘 알려진 SID에 해당하지 않으면 함수는 기본 제공 및 관리적으로 정의된 로컬 계정을 확인합니다. 다음으로, 함수는 기본 도메인을 확인합니다. 이름이 없으면 신뢰할 수 있는 도메인이 선택됩니다.

격리된 이름(예: user_name) 대신 정규화된 계정 이름(예: domain_name\user_name)을 사용합니다. 정규화된 이름은 모호하지 않으며 조회가 수행될 때 더 나은 성능을 제공합니다. 또한 이 함수는 정규화된 DNS 이름(예: example.example.com\user_name) 및 UPN( 사용자 계정 이름 )(예 someone@example.com: )을 지원합니다.

LookupAccountName은 로컬 계정, 로컬 도메인 계정 및 명시적으로 신뢰할 수 있는 도메인 계정을 조회하는 것 외에도 포리스트의 모든 도메인에 있는 모든 계정의 이름을 조회할 수 있습니다.

참고

winbase.h 헤더는 LOOKupAccountName을 유니코드 전처리기 상수의 정의에 따라 이 함수의 ANSI 또는 유니코드 버전을 자동으로 선택하는 별칭으로 정의합니다. 인코딩 중립 별칭을 인코딩 중립이 아닌 코드와 혼합하면 컴파일 또는 런타임 오류가 발생하는 불일치가 발생할 수 있습니다. 자세한 내용은 함수 프로토타입에 대한 규칙을 참조하세요.

요구 사항

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

추가 정보

Access Control 개요

기본 Access Control 함수

EqualPrefixSid

GetUserName

LookupAccountSid

LsaLookupNames2

SID

SID_NAME_USE