SecLookupAccountName 함수(ntifs.h)
SecLookupAccountName 계정을 입력으로 허용하고 계정의 SID(보안 식별자)와 계정이 발견된 도메인의 이름을 검색합니다.
통사론
KSECDDDECLSPEC NTSTATUS SEC_ENTRY SecLookupAccountName(
[in] PUNICODE_STRING Name,
[in, out] PULONG SidSize,
[out] PSID Sid,
[out] PSID_NAME_USE NameUse,
[out] PULONG DomainSize,
[in_out, optional] PUNICODE_STRING ReferencedDomain
);
매개 변수
[in] Name
계정 이름을 지정하는 유니코드 문자열에 대한 포인터입니다. domain_name\user_name 형식의 정규화된 문자열을 사용하여 SecLookupAccountName 원하는 도메인에서 계정을 찾을 수 있는지 확인합니다.
[in, out] SidSize
Sid 버퍼의 크기를 지정하는 변수에 대한 포인터입니다. 입력 시 이 값은 입력 Sid 버퍼의 크기(바이트)를 지정합니다. 버퍼가 너무 작거나 SidSize 0이므로 함수가 실패하면 이 변수는 필요한 버퍼 크기를 받습니다. 성공 시 이 변수에는 반환된 Sid크기가 포함됩니다.
[out] Sid
Name 매개 변수가 가리키는 계정 이름에 해당하는 SID 구조를 수신하는 버퍼에 대한 포인터입니다. 이 매개 변수가 NULL
[out] NameUse
계정의 형식을 수신하는 SID_NAME_USE 열거형 형식에 대한 포인터입니다.
[out] DomainSize
ReferencedDomain 매개 변수의 크기를 받는 ULONG에 대한 포인터입니다. 버퍼가 너무 작기 때문에 함수가 실패하면 이 변수는 필요한 버퍼 크기를 받습니다. Input ReferencedDomain 매개 변수가 NULL이면 이 매개 변수는 0을 받습니다.
[in_out, optional] ReferencedDomain
계정 이름이 있는 도메인 이름에 대한 버퍼에 대한 포인터입니다. 이 매개 변수는 선택 사항이며 NULL일 수 있습니다. 도메인에 가입되지 않은 컴퓨터의 경우 이 버퍼는 컴퓨터 이름을 받습니다.
반환 값
SecLookupAccountName 성공 시 STATUS_SUCCESS 반환하거나 실패 시 다음 오류 코드 중 하나를 반환합니다.
반환 코드 | 묘사 |
---|---|
SEC_E_INTERNAL_ERROR | LSA(로컬 시스템 기관) 또는 LPC(로컬 프로시저 호출)에 보안 공급자에 연결하는 동안 내부 오류가 발생했습니다. |
STATUS_ACCESS_DENIED | 현재 실행 중인 스레드와 연결된 프로세스 ID가 현재 프로세스 ID와 일치하지 않습니다. |
STATUS_BUFFER_TOO_SMALL | Sid 또는 ReferencedDomain 매개 변수의 버퍼 크기가 너무 작습니다. |
STATUS_INVALID_PARAMETER | Name 매개 변수의 길이가 로컬 시스템 기관에 메시지에서 허용되는 길이를 초과했습니다. |
STATUS_NONE_MAPPED | Name 매개 변수를 찾을 수 없습니다. |
STATUS_PROCESS_IS_TERMINATING | 이 프로세스가 종료되었으므로 LPC(로컬 프로시저 호출) 연결을 설정할 수 없습니다. |
발언
SecLookupAccountName 지정된 이름의 SID를 찾으려고 시도합니다. 함수는 기본 제공 및 관리적으로 정의된 로컬 계정을 확인합니다. 다음으로, 함수는 기본 도메인을 확인합니다. 이름이 없으면 신뢰할 수 있는 도메인이 선택됩니다.
격리된 이름(예: user_name) 대신 정규화된 계정 이름(예: domain_name\user_name)을 사용합니다. 정규화된 이름은 모호하지 않으며 조회가 수행될 때 더 나은 성능을 제공합니다. 또한 이 함수는 정규화된 DNS 이름(예: example.example.com\user_name) 및 UPN(사용자 계정 이름)(예: someone@example.com)을 지원합니다.
로컬 계정, 로컬 도메인 계정 및 명시적으로 신뢰할 수 있는 도메인 계정을 조회하는 것 외에도 SecLookupAccountName 포리스트의 모든 도메인에 있는 모든 계정의 이름을 조회할 수 있습니다.
SecLookupAccountName Win32 LookupAccountName 함수와 동일합니다.
SecLookupAccountName 사용자 모드 도우미 서비스를 사용하여 이 함수를 구현하는 ksecdd 드라이버에서 내보냅니다. 따라서 파일 시스템 내에서 이 함수를 사용하는 경우 사용자 모드 서비스와의 통신에 대한 일반적인 규칙을 준수해야 합니다. SecLookupAccountName 페이징 파일 I/O 중에 사용할 수 없습니다.
요구 사항
요구 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows XP |
대상 플랫폼 | 보편적 |
헤더 | ntifs.h(Ntifs.h 포함) |
라이브러리 | Ksecdd.lib |
IRQL |
<= APC_LEVEL |