다음을 통해 공유


NetWkstaUserGetInfo 함수(lmwksta.h)

NetWkstaUserGetInfo 함수는 현재 로그온한 사용자에 대한 정보를 반환합니다. 이 함수는 로그온한 사용자의 컨텍스트에서 호출되어야 합니다.

구문

NET_API_STATUS NET_API_FUNCTION NetWkstaUserGetInfo(
        LMSTR  reserved,
  [in]  DWORD  level,
  [out] LPBYTE *bufptr
);

매개 변수

reserved

이 매개 변수는 NULL로 설정해야 합니다.

[in] level

데이터의 정보 수준을 지정합니다. 이 매개 변수는 다음 값 중 하나일 수 있습니다.

의미
0
현재 워크스테이션에 로그온한 사용자의 이름을 반환합니다. bufptr 매개 변수는 WKSTA_USER_INFO_0 구조를 가리킵니다.
1
현재 사용자의 이름 및 워크스테이션에서 액세스하는 도메인을 포함하여 워크스테이션에 대한 정보를 반환합니다. bufptr 매개 변수는 WKSTA_USER_INFO_1 구조를 가리킵니다.
1101
워크스테이션에서 검색한 도메인을 반환합니다. bufptr 매개 변수는 WKSTA_USER_INFO_1101 구조를 가리킵니다.

[out] bufptr

데이터를 수신하는 버퍼에 대한 포인터입니다. 이 데이터의 형식은 bufptr 매개 변수의 값에 따라 달라집니다. 이 버퍼는 시스템에서 할당되며 NetApiBufferFree 함수를 사용하여 해제해야 합니다. 자세한 내용은 네트워크 관리 함수 버퍼 및 네트워크관리 함수 버퍼 길이를 참조하세요.

반환 값

함수가 성공하면 반환 값이 NERR_Success.

함수가 실패하면 반환 값은 다음 오류 코드 중 하나일 수 있습니다.

반환 코드 설명
ERROR_NOT_ENOUGH_MEMORY
시스템에 메모리 리소스가 부족했습니다. 네트워크 관리자 구성이 잘못되었거나 메모리가 부족한 시스템에서 프로그램이 실행 중입니다.
ERROR_INVALID_LEVEL
level 매개 변수가 잘못되었습니다.
ERROR_INVALID_PARAMETER
함수 매개 변수 중 하나가 잘못되었습니다.

설명

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

참고 항목

NetWkstaSetInfo

네트워크 관리 함수

네트워크 관리 개요

WKSTA_USER_INFO_0

WKSTA_USER_INFO_1

WKSTA_USER_INFO_1101

워크스테이션 및 워크스테이션 사용자 함수