다음을 통해 공유


NPGetResourceInformation 함수(npapi.h)

WNet API를 통해 액세스하는 네트워크 리소스의 부분을 리소스 종류와 관련된 API를 통해 액세스하는 부분과 구분합니다.

구문

DWORD NPGetResourceInformation(
  [in]      LPNETRESOURCEW lpNetResource,
  [out]     LPVOID         lpBuffer,
  [in, out] LPDWORD        lpBufferSize,
  [out]     LPWSTR         *lplpSystem
);

매개 변수

[in] lpNetResource

정보가 필요한 네트워크 리소스를 지정합니다. lpRemoteName 필드는 리소스의 원격 이름을 지정합니다. 호출 프로그램은 이러한 값을 알고 있는 경우 lpProviderdwType 필드의 값을 입력해야 합니다. 그렇지 않으면 이러한 필드를 NULL로 설정해야 합니다. NETRESOURCE의 다른 모든 필드는 무시되며 초기화되지 않습니다.

lpRemoteName 문자열에 WNet API를 통해 액세스되는 부분과 리소스 종류와 관련된 다른 시스템 API를 통해 액세스되는 부분이 포함된 경우 함수는 리소스의 네트워크 부분에 대한 정보만 반환해야 합니다(이 항목의 뒷부분에 설명된 대로 lplpSystem 제외).

예를 들어 리소스가 "\server\share\dir1\dir2"이면 WNet API를 통해 "\server\share"에 액세스하고 파일 시스템 API를 통해 "\dir1\dir2"에 액세스하는 경우 공급자는 "\server\share"에 적합한 공급자인지 확인해야 하지만 "\dir1\dir2"가 실제로 존재하는지 여부를 검사 필요가 없습니다.

[out] lpBuffer

결과를 받을 버퍼에 대한 포인터입니다. 결과의 첫 번째 필드는 단일 NETRESOURCE 구조 및 연결된 문자열로, 리소스 유형에 특정한 시스템 API가 아니라 WNet API를 통해 액세스되는 입력 리소스의 해당 부분을 나타냅니다. 예를 들어 입력 원격 리소스 이름이 "\server\share\dir1\dir2"인 경우 출력 NETRESOURCE 에는 리소스 "\server\share"에 대한 정보가 포함됩니다. lpRemoteName, lpProvider, dwType, dwDisplayTypedwUsage 필드는 값을 포함하는 반환되고 다른 모든 필드는 NULL로 설정됩니다.

lpRemoteName 필드는 호출자가 대/소문자를 구분하는 문자열 비교를 수행할 수 있도록 NPEnumResource 함수가 열거형에서 반환한 것과 동일한 형식으로 반환되어야 합니다. 출력 네트워크 리소스가 NPEnumResource에서 반환한 리소스와 동일한지 여부를 확인하는 데 필요합니다.

공급자가 리소스를 소유하는지 여부를 확인하기 위해 순전히 구문 검사를 수행해서는 안 됩니다. 클라이언트에서 두 네트워크가 실행 중이고 구문 검사를 수행하는 공급자가 먼저 호출되면 잘못된 결과가 발생할 수 있습니다.

[in, out] lpBufferSize

lpBuffer가 가리키는 버퍼의 크기(바이트)를 지정하는 위치에 대한 포인터입니다. 버퍼가 결과에 비해 너무 작으면 함수는 필요한 버퍼 크기를 이 위치에 배치하고 오류 WN_MORE_DATA 반환합니다.

[out] lplpSystem

반환이 성공하면 출력 버퍼의 null로 끝나는 문자열에 대한 포인터로, WNet API가 아닌 리소스 종류와 관련된 시스템 API를 통해 액세스되는 리소스의 일부를 지정합니다. 이러한 부분이 없으면 lplpSystemNULL로 설정됩니다. 예를 들어 입력 원격 리소스 이름이 "\server\share\dir"인 경우 lpRemoteName은 "\server\share"를 가리키고 lplpSystem은 lpBuffer가 가리키는 버퍼에 저장되는 두 문자열 모두 "\dir"을 가리킵니다.

반환 값

함수가 성공하면 WN_SUCCESS 반환해야 합니다. 그렇지 않으면 다음 중 하나일 수 있는 오류 코드를 반환해야 합니다.

반환 코드 설명
WN_MORE_DATA
입력 버퍼가 너무 작습니다.
WN_BAD_NETNAME
리소스가 이 공급자에 의해 인식되지 않습니다.
WN_BAD_VALUE
dwUsage 또는 dwType이 잘못되었습니다.
WN_BAD_DEV_TYPE
호출자가 네트워크 리소스의 실제 형식과 일치하지 않는 0이 아닌 dwType 으로 전달되었습니다.
WN_NOT_AUTHENTICATED
호출자가 네트워크에 인증되지 않았습니다.
WN_ACCESS_DENIED
호출자가 네트워크에 인증되었지만 충분한 권한이 없습니다.

설명

NPOpenEnum 및 관련 함수를 사용하여 명명된 네트워크 리소스에서 열거형 트리를 탐색할 수 있습니다. 명명된 리소스에서 위로 이동하려면 NPGetResourceInformation 함수를 호출하여 리소스에 대한 정보를 가져온 다음 NPGetResourceParent 함수를 호출하여 부모 리소스의 이름과 형식을 가져올 수 있습니다.

NPGetResourceInformation 은 지정된 공급자가 지정된 네트워크 리소스에 대한 요청에 응답할 수 있는 올바른 공급자인지 여부를 결정합니다. 그런 다음 리소스의 형식에 대한 정보를 반환합니다.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows XP [데스크톱 앱만 해당]
지원되는 최소 서버 Windows Server 2003 [데스크톱 앱만 해당]
대상 플랫폼 Windows
헤더 npapi.h