다음을 통해 공유


WNetOpenEnumA 함수(winnetwk.h)

WNetOpenEnum 함수는 네트워크 리소스 또는 기존 연결의 열거를 시작합니다. WNetEnumResource 함수를 호출하여 열거형을 계속할 수 있습니다.

구문

DWORD WNetOpenEnumA(
  [in]  DWORD          dwScope,
  [in]  DWORD          dwType,
  [in]  DWORD          dwUsage,
  [in]  LPNETRESOURCEA lpNetResource,
  [out] LPHANDLE       lphEnum
);

매개 변수

[in] dwScope

열거형의 범위입니다. 이 매개 변수는 다음 값 중 하나일 수 있습니다.

의미
RESOURCE_CONNECTED
현재 연결된 모든 리소스를 열거합니다. 함수는 dwUsage 매개 변수를 무시합니다. 자세한 내용은 아래 설명 부분을 참조하십시오.
RESOURCE_CONTEXT
호출자의 네트워크 컨텍스트에서 리소스만 열거합니다. 네트워크 이웃 보기에 이 값을 지정합니다. 함수는 dwUsage 매개 변수를 무시합니다.
RESOURCE_GLOBALNET
네트워크의 모든 리소스를 열거합니다.
RESOURCE_REMEMBERED
기억되는 모든 연결(영구) 연결을 열거합니다. 함수는 dwUsage 매개 변수를 무시합니다.

[in] dwType

열거할 리소스 종류입니다. 이 매개 변수는 다음 값의 조합일 수 있습니다.

의미
RESOURCETYPE_ANY
모든 리소스 이 값은 RESOURCETYPE_DISK 또는 RESOURCETYPE_PRINT 결합할 수 없습니다.
RESOURCETYPE_DISK
모든 디스크 리소스.
RESOURCETYPE_PRINT
모든 인쇄 리소스.
 

네트워크 공급자가 인쇄 리소스와 디스크 리소스를 구분할 수 없는 경우 모든 리소스를 열거할 수 있습니다.

[in] dwUsage

열거할 리소스 사용 유형입니다. 이 매개 변수는 다음 값의 조합일 수 있습니다.

의미
0
모든 리소스
RESOURCEUSAGE_CONNECTABLE
모든 연결 가능한 리소스.
RESOURCEUSAGE_CONTAINER
모든 컨테이너 리소스.
RESOURCEUSAGE_ATTACHED
이 값을 설정하면 사용자가 인증되지 않은 경우 WNetOpenEnum 이 실패합니다. 네트워크에서 인증 없이 열거를 허용하는 경우에도 함수가 실패합니다.
RESOURCEUSAGE_ALL
이 값을 설정하는 것은 RESOURCEUSAGE_CONNECTABLE, RESOURCEUSAGE_CONTAINER 및 RESOURCEUSAGE_ATTACHED 설정하는 것과 같습니다.
 

dwScope 매개 변수가 RESOURCE_GLOBALNET 같지 않으면 이 매개 변수는 무시됩니다. 자세한 내용은 아래 설명 부분을 참조하십시오.

[in] lpNetResource

열거할 컨테이너를 지정하는 NETRESOURCE 구조체에 대한 포인터입니다. dwScope 매개 변수가 RESOURCE_GLOBALNET 않으면 이 매개 변수는 NULL이어야 합니다.

이 매개 변수가 NULL이면 네트워크의 루트가 가정됩니다. (시스템은 네트워크를 계층 구조로 구성합니다. 루트는 네트워크에서 가장 맨 위 컨테이너입니다.)

이 매개 변수가 NULL이 아닌 경우 NETRESOURCE 구조를 가리킵니다. 이 구조체는 애플리케이션에 의해 채워지거나 WNetEnumResource 함수를 호출하여 반환할 수 있습니다. NETRESOURCE 구조는 컨테이너 리소스를 지정해야 합니다. 즉, dwUsage 매개 변수에 RESOURCEUSAGE_CONTAINER 값을 지정해야 합니다.

모든 네트워크 리소스를 열거하기 위해 애플리케이션은 lpNetResource 매개 변수가 NULL로 설정된 WNetOpenEnum을 호출한 다음 반환된 핸들을 사용하여 WNetEnumResource를 호출하여 리소스를 열거하여 열거를 시작할 수 있습니다. WNetEnumResource 함수에서 반환된 NETRESOURCE 배열의 리소스 중 하나가 컨테이너 리소스인 경우 WNetOpenEnum을 호출하여 추가 열거를 위해 리소스를 열 수 있습니다.

[out] lphEnum

WNetEnumResource에 대한 후속 호출에 사용할 수 있는 열거형 핸들에 대한 포인터입니다.

반환 값

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

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

반환 코드 설명
ERROR_NOT_CONTAINER
lpNetResource 매개 변수는 컨테이너를 가리키지 않습니다.
ERROR_INVALID_PARAMETER
dwScope 또는 dwType 매개 변수가 잘못되었거나 매개 변수의 조합이 잘못되었습니다.
ERROR_NO_NETWORK
네트워크를 사용할 수 없습니다.
ERROR_EXTENDED_ERROR
네트워크 관련 오류가 발생했습니다. 오류에 대한 설명을 가져오려면 WNetGetLastError 함수를 호출합니다.
ERROR_INVALID_ADDRESS
NETRESOURCE 구조에 제공된 원격 네트워크 리소스 이름이 잘못된 네트워크 주소로 확인되었습니다.

설명

dwScope 매개 변수가 RESOURCE_CONNECTED 동일한 경우 WNetOpenEnum 함수를 호출하는 애플리케이션과 다른 로그온 세션에서 실행되는 애플리케이션에 의해 연결이 수행된 경우 Microsoft LAN Manager 네트워크를 사용하여 만든 네트워크 연결이 열거형에서 생략됩니다. Microsoft LAN Manager를 사용하여 만든 연결은 연결을 만든 애플리케이션과 동일한 로그온 세션에서 실행되는 애플리케이션에만 표시되기 때문입니다. (연결을 열거형에 포함하려면 연결을 만든 사용자 계정에서 애플리케이션을 실행하는 것으로 충분하지 않습니다.)

dwScope 매개 변수의 RESOURCE_CONTEXT 정확한 해석은 컴퓨터에 설치된 네트워크에 따라 달라집니다.

WNetOpenEnum 함수는 단일 컨테이너에서 리소스 열거를 시작하는 데 사용됩니다. 다음 예제에서는 Microsoft LAN 관리자 네트워크 및 Novell NetWare 네트워크의 계층 구조를 보여 줍니다.

LanMan (container, in this case the provider) 
  ACCOUNTING (container, in this case the domain) 
    \\ACCTSPAY (container, in this case the server) 
      PAYFILES (disk) 
      LASERJET (print) 
 
NetWare (container, in this case the provider) 
  MARKETING (container, in this case the server) 
    SYS (disk, first one on any NetWare server) 
    ANOTHERVOLUME (disk) 
    LASERJET (print) 

예제

네트워크의 모든 리소스를 열거하는 애플리케이션 정의 함수를 보여 주는 코드 샘플은 네트워크 리소스 열거를 참조하세요.

참고

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

요구 사항

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

추가 정보

NETRESOURCE

WNetCloseEnum

WNetEnumResource

WNet(Windows 네트워킹) 개요

Windows 네트워킹 함수