WNetGetConnectionA 함수(winnetwk.h)

WNetGetConnection 함수는 로컬 디바이스와 연결된 네트워크 리소스의 이름을 검색합니다.

구문

DWORD WNetGetConnectionA(
  [in]      LPCSTR  lpLocalName,
  [out]     LPSTR   lpRemoteName,
  [in, out] LPDWORD lpnLength
);

매개 변수

[in] lpLocalName

네트워크 이름을 가져올 로컬 디바이스의 이름을 지정하는 null로 끝나는 상수 문자열에 대한 포인터입니다.

[out] lpRemoteName

연결을 만드는 데 사용되는 원격 이름을 수신하는 null로 끝나는 문자열에 대한 포인터입니다.

[in, out] lpnLength

lpRemoteName 매개 변수가 가리키는 버퍼의 크기를 문자 단위로 지정하는 변수에 대한 포인터입니다. 버퍼가 충분히 크지 않아 함수가 실패하면 이 매개 변수는 필요한 버퍼 크기를 반환합니다.

반환 값

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

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

반환 코드 설명
ERROR_BAD_DEVICE
lpLocalName 매개 변수가 가리키는 문자열이 잘못되었습니다.
ERROR_NOT_CONNECTED
lpLocalName으로 지정된 디바이스가 리디렉션된 디바이스가 아닙니다. 자세한 내용은 아래 설명 부분을 참조하십시오.
ERROR_MORE_DATA
버퍼가 너무 작습니다. lpnLength 매개 변수는 필요한 버퍼 크기를 포함하는 변수를 가리킵니다. 후속 호출을 통해 더 많은 항목을 사용할 수 있습니다.
ERROR_CONNECTION_UNAVAIL
디바이스가 현재 연결되어 있지 않지만 영구 연결입니다. 자세한 내용은 아래 설명 부분을 참조하십시오.
ERROR_NO_NETWORK
네트워크를 사용할 수 없습니다.
ERROR_EXTENDED_ERROR
네트워크 관련 오류가 발생했습니다. 오류에 대한 설명을 가져오려면 WNetGetLastError 함수를 호출합니다.
ERROR_NO_NET_OR_BAD_PATH
공급자 중 어느 것도 로컬 이름을 연결이 있는 것으로 인식하지 않습니다. 그러나 연결이 속할 수 있는 공급자는 네트워크를 하나 이상 사용할 수 없습니다.

설명

Microsoft LAN Manager 네트워크를 사용하여 네트워크 연결이 이루어지고 호출 애플리케이션이 연결을 만든 애플리케이션과 다른 로그온 세션에서 실행 중인 경우 연결된 로컬 디바이스에 대한 WNetGetConnection 함수 호출이 실패합니다. ERROR_NOT_CONNECTED 또는 ERROR_CONNECTION_UNAVAIL 함수가 실패합니다. 이는 Microsoft LAN Manager를 사용하여 만든 연결이 연결을 만든 애플리케이션과 동일한 로그온 세션에서 실행되는 애플리케이션에만 표시되므로 입니다. (WNetGetConnection 호출이 실패하지 않도록 하려면 연결을 만든 사용자 계정에서 애플리케이션을 실행하기에 충분하지 않습니다.)

Windows Server 2003 및 Windows XP: 이 함수는 MS-DOS 디바이스가 AuthenticationID로 식별되기 때문에 로그온 세션과 연결된 MS-DOS 디바이스 네임스페이스를 쿼리합니다. AuthenticationID는 로그온 세션과 연결된 로컬 고유 식별자 또는 LUID입니다. 이는 WNet 함수 중 하나를 호출하여 한 사용자 로그온에서 네트워크 드라이브 문자를 만들지만 다른 사용자 로그온에서 기존 네트워크 드라이브 문자를 쿼리하는 애플리케이션에 영향을 줄 수 있습니다. 예를 들어 CreateProcessAsUser 함수를 호출하여 사용자의 두 번째 로그온이 로그온 세션 내에 만들어지고 두 번째 로그온이 GetLogicalDrives 함수를 호출하는 애플리케이션을 실행하는 경우를 예로 들어 보겠습니다. GetLogicalDrives 는 첫 번째 로그온에서 WNet 함수에서 만든 네트워크 드라이브 문자를 반환하지 않습니다. 앞의 예제에서는 첫 번째 로그온 세션이 여전히 존재하며 터미널 서비스 세션을 비롯한 모든 로그온 세션에 이 예제를 적용할 수 있습니다. 자세한 내용은 MS-DOS 디바이스 이름 정의를 참조하세요.

예제

WNetGetConnection 함수를 사용하여 로컬 디바이스와 연결된 네트워크 리소스의 이름을 검색하는 방법을 보여 주는 코드 샘플은 연결 이름 검색을 참조하세요.

참고

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

요구 사항

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

추가 정보

WNetAddConnection2

WNetAddConnection3

WNetGetUser

WNet(Windows 네트워킹) 개요

Windows 네트워킹 함수