GetUserNameA 함수(winbase.h)
현재 스레드와 연결된 사용자의 이름을 검색합니다.
GetUserNameEx 함수를 사용하여 지정된 형식으로 사용자 이름을 검색합니다. 추가 정보는 IADsADSystemInfo 인터페이스에서 제공됩니다.
통사론
BOOL GetUserNameA(
[out] LPSTR lpBuffer,
[in, out] LPDWORD pcbBuffer
);
매개 변수
[out] lpBuffer
사용자의 로그온 이름을 받을 버퍼에 대한 포인터입니다. 이 버퍼가 전체 사용자 이름을 포함할 만큼 크지 않으면 함수가 실패합니다. 버퍼 크기(UNLEN + 1) 문자는 종료 null 문자를 포함하여 최대 길이 사용자 이름을 보유합니다. UNLEN은 Lmcons.h에 정의되어 있습니다.
[in, out] pcbBuffer
입력 시 이 변수는 TCHARlpBuffer 버퍼의 크기를 지정합니다. 출력 시 변수는 종료 null 문자를 포함하여 버퍼에 복사된
반환 값
함수가 성공하면 반환 값은 0이 아닌 값이며, lpnSize 가리키는 변수에는 종료 null 문자를 포함하여 lpBuffer지정된 버퍼에 복사된 TCHAR 수가 포함됩니다.
함수가 실패하면 반환 값은 0입니다. 확장 오류 정보를 얻으려면 GetLastError호출합니다.
발언
현재 스레드가 다른 클라이언트를 가장하는 경우 GetUserName 함수는 스레드가 가장하는 클라이언트의 사용자 이름을 반환합니다.
"NETWORK SERVICE" 계정으로 실행되는 프로세스에서 GetUserName 호출되는 경우 lpBuffer 반환된 문자열은 Windows 버전에 따라 다를 수 있습니다. Windows XP에서 "NETWORK SERVICE" 문자열이 반환됩니다. Windows Vista에서 "<HOSTNAME>$" 문자열이 반환됩니다.
예제
예를 들어 시스템 정보 가져오기
메모
winbase.h 헤더는 GETUserName을 유니코드 전처리기 상수의 정의에 따라 이 함수의 ANSI 또는 유니코드 버전을 자동으로 선택하는 별칭으로 정의합니다. 인코딩 중립 별칭을 인코딩 중립이 아닌 코드와 혼합하면 컴파일 또는 런타임 오류가 발생하는 불일치가 발생할 수 있습니다. 자세한 내용은 함수 프로토타입대한
요구 사항
요구 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows 2000 Professional [데스크톱 앱만 해당] |
지원되는 최소 서버 | Windows 2000 Server [데스크톱 앱만 해당] |
대상 플랫폼 | Windows |
헤더 | winbase.h(Windows.h 포함) |
라이브러리 | Advapi32.lib |
DLL | Advapi32.dll |
참고 항목
GetUserNameEx
LookupAccountName