WNetGetUserA 함수(winnetwk.h)

WNetGetUser 함수는 현재 기본 사용자 이름 또는 네트워크 연결을 설정하는 데 사용되는 사용자 이름을 검색합니다.

구문

DWORD WNetGetUserA(
  [in]      LPCSTR  lpName,
  [out]     LPSTR   lpUserName,
  [in, out] LPDWORD lpnLength
);

매개 변수

[in] lpName

네트워크 리소스로 리디렉션된 로컬 디바이스의 이름 또는 로컬 디바이스를 리디렉션하지 않고 연결이 만들어진 네트워크 리소스의 원격 이름을 지정하는 null로 끝나는 상수 문자열에 대한 포인터입니다.

이 매개 변수가 NULL 이거나 빈 문자열인 경우 시스템은 프로세스에 대한 현재 사용자의 이름을 반환합니다.

[out] lpUserName

null로 종료된 사용자 이름을 수신하는 버퍼에 대한 포인터입니다.

[in, out] lpnLength

lpUserName 버퍼의 크기를 문자 단위로 지정하는 변수에 대한 포인터입니다. 버퍼가 충분히 크지 않아 호출이 실패하면 이 변수에는 필요한 버퍼 크기가 포함됩니다.

반환 값

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

함수가 실패하면 반환 값은 다음 값 중 하나와 같은 시스템 오류 코드입니다.

반환 코드 설명
ERROR_NOT_CONNECTED
lpName 매개 변수로 지정된 디바이스가 리디렉션된 디바이스 또는 연결된 네트워크 이름이 아닙니다.
ERROR_MORE_DATA
후속 호출을 통해 더 많은 항목을 사용할 수 있습니다.
ERROR_NO_NETWORK
네트워크를 사용할 수 없습니다.
ERROR_EXTENDED_ERROR
네트워크 관련 오류가 발생했습니다. 오류에 대한 설명을 가져오려면 WNetGetLastError 함수를 호출합니다.
ERROR_NO_NET_OR_BAD_PATH
공급자 중 어느 것도 로컬 이름을 연결이 있는 것으로 인식하지 않습니다. 그러나 연결이 속할 수 있는 공급자는 네트워크를 하나 이상 사용할 수 없습니다.

설명

WNetGetUser 함수는 DFS(분산 파일 시스템)의 공유를 인식하지 않습니다. lpName 매개 변수로 지정된 이름이 DFS 공유로 리디렉션된 로컬 디바이스 또는 DFS 공유를 나타내는 원격 리소스인 경우 WNetGetUser 함수는 ERROR_NOT_CONNECTED 함께 실패합니다.

예제

다음 코드 샘플에서는 WNetGetUser 함수를 사용하여 리디렉션된 로컬 디바이스 또는 원격 네트워크 리소스와 연결된 사용자의 이름을 검색하는 방법을 보여 줍니다.

#ifndef UNICODE
#define UNICODE
#endif
#pragma comment(lib, "mpr.lib")

#include <windows.h>
#include <tchar.h>
#include <stdio.h>
#include <Winnetwk.h>

int wmain(int argc, wchar_t * argv[])
{
    DWORD dwRetVal;

    WCHAR UserName[MAX_PATH];

    DWORD dwNameLength = MAX_PATH;

    if (argc != 2) {
        wprintf
            (L"Usage: %s [Redirected-LocalDevice or Network-Resource-Remote-name\n",
             argv[0]);
        exit(1);
    }

    wprintf(L"Calling WNetGetUser with Network-Resource = %s\n", argv[1]);

    dwRetVal = WNetGetUser(argv[1], UserName, &dwNameLength);
    //
    // If the call succeeds, print the user information.
    //
    if (dwRetVal == NO_ERROR) {

        wprintf(L"WNetGetUser returned success\n");
        wprintf(L"\tUsername=%s   NameLength=%d\n", &UserName, dwNameLength);
        exit(0);
    }

    else {
        wprintf(L"WNetGetUser failed with error: %u\n", dwRetVal);
        exit(1);
    }
}


참고

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

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows 2000 Professional[데스크톱 앱만]
지원되는 최소 서버 Windows 2000 Server[데스크톱 앱만]
대상 플랫폼 Windows
헤더 winnetwk.h
라이브러리 Mpr.lib
DLL Mpr.dll

추가 정보

사용자 이름 검색

WNetGetConnection

WNet(Windows 네트워킹) 개요

Windows 네트워킹 함수