다음을 통해 공유


WNetAddConnectionA 함수(winnetwk.h)

WNetAddConnection 함수를 사용하면 호출 애플리케이션이 로컬 디바이스를 네트워크 리소스에 연결할 수 있습니다. 성공적인 연결은 영구적이므로 시스템이 후속 로그온 작업 중에 연결을 자동으로 복원합니다.

참고 이 함수는 16비트 버전의 Windows와의 호환성을 위해서만 제공됩니다. 다른 Windows 기반 애플리케이션은 WNetAddConnection2 또는 WNetAddConnection3 함수를 호출해야 합니다.
 

구문

DWORD WNetAddConnectionA(
  [in] LPCSTR lpRemoteName,
  [in] LPCSTR lpPassword,
  [in] LPCSTR lpLocalName
);

매개 변수

[in] lpRemoteName

연결할 네트워크 리소스를 지정하는 null로 끝나는 상수 문자열에 대한 포인터입니다.

[in] lpPassword

연결을 만드는 데 사용할 암호를 지정하는 null로 끝나는 상수 문자열에 대한 포인터입니다. 이 매개 변수는 일반적으로 현재 사용자와 연결된 암호입니다.

이 매개 변수가 NULL이면 기본 암호가 사용됩니다. 문자열이 비어 있으면 암호가 사용되지 않습니다.

Windows Me/98/95: 이 매개 변수는 NULL 또는 빈 문자열이어야 합니다.

[in] lpLocalName

리디렉션할 로컬 디바이스의 이름(예: "F:" 또는 "LPT1")을 지정하는 null로 끝나는 상수 문자열에 대한 포인터입니다. 문자열은 대/소문자를 구분하지 않는 방식으로 처리됩니다. 문자열이 NULL이면 로컬 디바이스를 리디렉션하지 않고 네트워크 리소스에 연결됩니다.

반환 값

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

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

반환 코드 설명
ERROR_ACCESS_DENIED
호출자는 네트워크 리소스에 액세스할 수 없습니다.
ERROR_ALREADY_ASSIGNED
lpLocalName 매개 변수에 지정된 디바이스가 이미 연결되어 있습니다.
ERROR_BAD_DEV_TYPE
디바이스 유형 및 리소스 종류가 일치하지 않습니다.
ERROR_BAD_DEVICE
lpLocalName 매개 변수에 지정된 값이 잘못되었습니다.
ERROR_BAD_NET_NAME
lpRemoteName 매개 변수에 지정된 값이 잘못되었거나 위치할 수 없습니다.
ERROR_BAD_PROFILE
사용자 프로필이 잘못된 형식입니다.
ERROR_CANNOT_OPEN_PROFILE
시스템에서 영구 연결을 처리하기 위해 사용자 프로필을 열 수 없습니다.
ERROR_DEVICE_ALREADY_REMEMBERED
lpLocalName 매개 변수에 지정된 디바이스에 대한 항목이 이미 사용자 프로필에 있습니다.
ERROR_EXTENDED_ERROR
네트워크 관련 오류가 발생했습니다. 오류에 대한 설명을 가져오려면 WNetGetLastError 함수를 호출합니다.
ERROR_INVALID_PASSWORD
지정한 암호가 잘못되었습니다.
ERROR_NO_NET_OR_BAD_PATH
네트워크 구성 요소가 시작되지 않았거나 지정된 이름을 사용할 수 없기 때문에 작업을 수행할 수 없습니다.
ERROR_NO_NETWORK
네트워크를 사용할 수 없습니다.

설명

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

Windows Server 2003 및 Windows XP에서 LocalSystem으로 실행되는 서비스가 WNetAddConnection 함수를 호출하는 경우 매핑된 드라이브가 모든 사용자 로그온 세션에 표시됩니다.

참고

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

요구 사항

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

추가 정보

WNetAddConnection2

WNetAddConnection3

WNetCancelConnection

WNetCancelConnection2

WNetGetConnection

WNet(Windows 네트워킹) 개요

Windows 네트워킹 함수