다음을 통해 공유


WNetGetUserW 함수(winnetwk.h)

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

통사론

DWORD WNetGetUserW(
  [in]      LPCWSTR lpName,
  [out]     LPWSTR  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 네트워킹 함수