NetWkstaUserGetInfo 함수(lmwksta.h)
NetWkstaUserGetInfo 함수는 현재 로그온한 사용자에 대한 정보를 반환합니다. 이 함수는 로그온한 사용자의 컨텍스트에서 호출되어야 합니다.
구문
NET_API_STATUS NET_API_FUNCTION NetWkstaUserGetInfo(
LMSTR reserved,
[in] DWORD level,
[out] LPBYTE *bufptr
);
매개 변수
reserved
이 매개 변수는 NULL로 설정해야 합니다.
[in] level
데이터의 정보 수준을 지정합니다. 이 매개 변수는 다음 값 중 하나일 수 있습니다.
값 | 의미 |
---|---|
|
현재 워크스테이션에 로그온한 사용자의 이름을 반환합니다. bufptr 매개 변수는 WKSTA_USER_INFO_0 구조를 가리킵니다. |
|
현재 사용자의 이름 및 워크스테이션에서 액세스하는 도메인을 포함하여 워크스테이션에 대한 정보를 반환합니다. bufptr 매개 변수는 WKSTA_USER_INFO_1 구조를 가리킵니다. |
|
워크스테이션에서 검색한 도메인을 반환합니다. bufptr 매개 변수는 WKSTA_USER_INFO_1101 구조를 가리킵니다. |
[out] bufptr
데이터를 수신하는 버퍼에 대한 포인터입니다. 이 데이터의 형식은 bufptr 매개 변수의 값에 따라 달라집니다. 이 버퍼는 시스템에서 할당되며 NetApiBufferFree 함수를 사용하여 해제해야 합니다. 자세한 내용은 네트워크 관리 함수 버퍼 및 네트워크관리 함수 버퍼 길이를 참조하세요.
반환 값
함수가 성공하면 반환 값이 NERR_Success.
함수가 실패하면 반환 값은 다음 오류 코드 중 하나일 수 있습니다.
반환 코드 | 설명 |
---|---|
|
시스템에 메모리 리소스가 부족했습니다. 네트워크 관리자 구성이 잘못되었거나 메모리가 부족한 시스템에서 프로그램이 실행 중입니다. |
|
level 매개 변수가 잘못되었습니다. |
|
함수 매개 변수 중 하나가 잘못되었습니다. |
설명
NetWkstaUserGetInfo 함수는 로컬에서만 작동합니다.
예제
다음 코드 샘플에서는 NetWkstaUserGetInfo 함수에 대한 호출을 사용하여 현재 로그온한 사용자에 대한 정보를 검색하는 방법을 보여 줍니다. 샘플은 NetWkstaUserGetInfo를 호출하여 정보 수준 1( WKSTA_USER_INFO_1)을 지정합니다. 호출이 성공하면 샘플은 로그온한 사용자에 대한 정보를 출력합니다. 마지막으로 샘플은 정보 버퍼에 할당된 메모리를 해제합니다.
#ifndef UNICODE
#define UNICODE
#endif
#pragma comment(lib, "netapi32.lib")
#include <stdio.h>
#include <windows.h>
#include <lm.h>
int wmain(void)
{
DWORD dwLevel = 1;
LPWKSTA_USER_INFO_1 pBuf = NULL;
NET_API_STATUS nStatus;
//
// Call the NetWkstaUserGetInfo function;
// specify level 1.
//
nStatus = NetWkstaUserGetInfo(NULL,
dwLevel,
(LPBYTE *)&pBuf);
//
// If the call succeeds, print the information
// about the logged-on user.
//
if (nStatus == NERR_Success)
{
if (pBuf != NULL)
{
wprintf(L"\n\tUser: %s\n", pBuf->wkui1_username);
wprintf(L"\tDomain: %s\n", pBuf->wkui1_logon_domain);
wprintf(L"\tOther Domains: %s\n", pBuf->wkui1_oth_domains);
wprintf(L"\tLogon Server: %s\n", pBuf->wkui1_logon_server);
}
}
// Otherwise, print the system error.
//
else
fprintf(stderr, "A system error has occurred: %d\n", nStatus);
//
// Free the allocated memory.
//
if (pBuf != NULL)
NetApiBufferFree(pBuf);
return 0;
}
요구 사항
지원되는 최소 클라이언트 | Windows 2000 Professional[데스크톱 앱만] |
지원되는 최소 서버 | Windows 2000 Server[데스크톱 앱만] |
대상 플랫폼 | Windows |
헤더 | lmwksta.h(Lm.h 포함) |
라이브러리 | Netapi32.lib |
DLL | Netapi32.dll |