다음을 통해 공유


WNetGetResourceParentW 함수(winnetwk.h)

WNetGetResourceParent 함수는 네트워크 찾아보기 계층 구조에서 네트워크 리소스의 부모를 반환합니다. 검색은 지정된 네트워크 리소스의 위치에서 시작됩니다.

WNetGetResourceInformationWNetGetResourceParent 함수를 호출하여 네트워크 계층을 이동합니다. WNetOpenEnum 함수를 호출하여 계층 구조 아래로 이동합니다.

구문

DWORD WNetGetResourceParentW(
  [in]      LPNETRESOURCEW lpNetResource,
  [out]     LPVOID         lpBuffer,
  [in, out] LPDWORD        lpcbBuffer
);

매개 변수

[in] lpNetResource

부모 이름이 필요한 네트워크 리소스를 지정하는 NETRESOURCE 구조체에 대한 포인터입니다.

다음과 같이 입력 NETRESOURCE 구조의 멤버를 지정합니다. 호출자는 일반적으로 WNetGetResourceInformation 또는 WNetGetResourceParent에 대한 이전 호출 후 lpProviderdwType 멤버에 제공할 값을 알고 있습니다.

멤버 의미
dwType
알려진 경우 이 멤버를 채워야 합니다. 그렇지 않으면 NULL로 설정해야 합니다.
lpRemoteName
이 멤버는 부모가 필요한 네트워크 리소스의 원격 이름을 지정해야 합니다.
lpProvider
이 멤버는 리소스를 소유하는 네트워크 공급자를 지정해야 합니다. 이 멤버는 필수입니다. 그렇지 않으면 함수가 잘못된 결과를 생성할 수 있습니다.
 

NETRESOURCE 구조의 다른 모든 멤버는 무시됩니다.

[out] lpBuffer

부모 리소스를 나타내는 단일 NETRESOURCE 구조를 수신하는 버퍼에 대한 포인터입니다. 함수는 구조체의 lpRemoteName, lpProvider, dwType, dwDisplayTypedwUsage 멤버를 반환합니다. 다른 모든 멤버는 NULL로 설정됩니다.

lpRemoteName 멤버는 부모 리소스의 원격 이름을 가리킵니다. 이 이름은 WNetEnumResource 함수에 의해 열거형에서 반환된 구문과 동일한 구문을 사용합니다. 호출자는 문자열 비교를 수행하여 WNetGetResourceParent 리소스가 WNetEnumResource에서 반환한 리소스와 동일한지 여부를 확인할 수 있습니다. 입력 리소스에 네트워크에 부모가 없는 경우 lpRemoteName 멤버가 NULL로 반환됩니다.

dwUsage 멤버에 RESOURCEUSAGE_CONNECTABLE 비트가 있으면 부모 리소스에 연결할 수 있지만 네트워크에서 사용할 수 있는 경우에만 연결할 수 있음을 나타냅니다.

[in, out] lpcbBuffer

항목에서 lpBuffer 버퍼의 크기를 바이트 단위로 지정하는 위치에 대한 포인터입니다. 버퍼가 너무 작아서 결과를 보유하지 못하면 이 위치는 필요한 버퍼 크기를 수신하고 함수는 ERROR_MORE_DATA 반환합니다.

반환 값

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

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

반환 코드 설명
ERROR_ACCESS_DENIED
호출자는 네트워크 리소스에 액세스할 수 없습니다.
ERROR_BAD_NET_NAME
입력 lpRemoteName 멤버는 네트워크에 대한 기존 네트워크 리소스가 아닙니다.
ERROR_BAD_PROVIDER
입력 lpProvider 멤버가 설치된 네트워크 공급자와 일치하지 않습니다.
ERROR_MORE_DATA
lpBuffer 매개 변수가 가리키는 버퍼가 너무 작습니다.
ERROR_NOT_AUTHENTICATED
호출자에게 부모의 이름을 가져오는 데 필요한 권한이 없습니다.

설명

WNetGetResourceParent 함수는 일반적으로 WNetGetResourceInformation 함수와 함께 사용하여 사용자가 입력한 네트워크 경로를 구문 분석하고 해석합니다.

WNetGetResourceInformation 함수와 달리 리소스에 해당 구문에 부모가 포함된 경우 WNetGetResourceParent 함수는 리소스가 실제로 존재하는지 여부에 관계없이 부모를 반환합니다. WNetGetResourceParent 는 일반적으로 계층적 방식으로 사용자에게 네트워크 리소스를 표시하는 애플리케이션에서만 사용해야 합니다. Windows Explorer 및 파일 열기 대화 상자는 이러한 유형의 애플리케이션에 대해 잘 알려진 두 가지 예입니다. 반환될 리소스 유형에 대해 가정해서는 안 됩니다.

WNetEnumResource, WNetGetResourceInformation 또는 WNetGetResourceParent 함수를 호출하여 NETRESOURCE 구조에서 정보를 반환할 수 있습니다. NETRESOURCE 구조의 멤버를 사용하여 네트워크 리소스 정보를 생성할 수도 있습니다.

WNetGetResourceParent를 부적절하게 사용하는 예는 지정된 서버가 속한 도메인의 이름을 확인하는 것입니다. 이 함수는 찾아보기 계층 구조에서 도메인이 서버 바로 위에 표시되는 일부 네트워크에 대해 올바른 도메인 이름을 반환할 수 있습니다. 함수는 다른 네트워크에 대해 잘못된 결과를 반환합니다.

참고

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

요구 사항

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

추가 정보

WNetGetNetworkInformation

WNetGetProviderName

WNetGetResourceInformation

WNetGetUniversalName

WNet(Windows 네트워킹) 개요

Windows 네트워킹 함수