다음을 통해 공유


PNRP 및 WSALookupServiceNext

PNRP는 WSALookupServiceNext 함수를 사용하여 WSALookupServiceBegin에 대한 이전 호출에 지정된 쿼리와 일치합니다. WSALookupServiceNext 함수의 결과는 초기 WSALookupServiceBegin 함수 호출에 전달된 WSAQUERYSET 구조체의 설정에 따라 결정됩니다. 이 함수는 다음 두 함수를 수행하는 데 사용됩니다.

  • 주소 목록으로 피어 이름 확인
  • 네트워크 클라우드 열거

WSANSPIoctl을 사용하면 조회 서비스를 비동기적으로 사용할 수 있습니다. 조회 서비스 함수를 비동기적으로 사용하는 방법에 대한 자세한 내용은 PNRP 및 WSANSPIoctl을 참조하세요.

WSANSPIoctl이 호출된 경우에도 WSALookupServiceNext 함수가 차단됩니다. WSALookupServiceNext를 호출하기 전에 차단이 문제인 경우 애플리케이션이 알림을 받을 때까지 기다려야 합니다.

주소 목록으로 피어 이름 확인

피어 이름을 주소 목록으로 확인하는 경우 lpqsResults 매개 변수에 반환된 LPWSAQUERYSET 구조체에는 다음 값이 포함됩니다.

dwSize

구조체의 크기를 반환합니다.

lpszServiceInstanceName

LUP_RETURN_NAME, LUP_RETURN_ALL 또는 NULL이 지정된 경우 피어 이름을 반환합니다.

lpServiceClassID

SVCID_PNRPNAME 반환합니다.

lpVersion

NULL을 반환합니다.

lpszComment

LUP_RETURN_COMMENT, LUP_RETURN_ALL 또는 NULL이 지정된 경우 주석을 반환합니다.

dwNameSpace

NS_PNRPNAME 반환합니다.

lpNSProviderID

NS_PROVIDER_PNRPNAME 반환합니다.

lpszContext

LUP_RETURN_NAME, LUP_RETURN_ALL 또는 NULL이 지정된 경우 클라우드 이름을 반환합니다.

dwNumberOfProtocols

0을 반환합니다.

lpszQueryString

NULL을 반환합니다.

dwNumberOfCsAddrs

LUP_RETURN_ADDR, LUP_RETURN_ALL 또는 NULL이 지정된 경우 CSADDR_INFO 배열의 항목 수를 반환합니다. 이 값과 lpcsaBuffer 의 정보는 이 구조에서 반환되는 정보의 핵심 비트입니다.

lpcsaBuffer

LUP_RETURN_ADDR, LUP_RETURN_ALL 또는 NULL이 지정된 경우 CSADDR_INFO 구조체 배열에 대한 포인터를 반환합니다. 이 버퍼와 dwNumberOfCsAddrs 의 값은 이 구조에서 반환되는 주요 정보 비트입니다.

dwOutputFlags

0을 반환합니다.

lpBlob

NULL을 반환합니다.

네트워크 클라우드 열거

클라우드를 열거할 때 lpqsResults 매개 변수에 반환된 LPWSAQUERYSET 구조체에는 다음 값이 포함됩니다.

dwSize

구조체의 크기를 반환합니다.

lpszServiceInstanceName

LUP_RETURN_NAME,LUP_RETURN_ALL 또는 NULL이 지정된 경우 클라우드 이름을 반환합니다.

lpServiceClassID

SVCID_PNRPCLOUD 반환합니다.

lpVersion

NULL을 반환합니다.

lpszComment

NULL을 반환합니다.

dwNameSpace

NS_PNRPCLOUD 반환합니다.

lpNSProviderID

NS_PROVIDER_PNRPCLOUD 반환합니다.

lpszContext

NULL을 반환합니다.

dwNumberOfProtocols

0을 반환합니다.

lpszQueryString

NULL을 반환합니다.

dwNumberOfCsAddrs

0을 반환합니다.

lpcsaBuffer

NULL을 반환합니다.

dwOutputFlags

0을 반환합니다.

lpBlob

LUP_RETURN_BLOB, LUP_RETURN_ALL 또는 NULL이 지정된 경우 PNRPCLOUDINFO 구조를 가리키는 BLOB 구조에 대한 포인터를 반환합니다.

PNRPCLOUDINFO 구조체

클라우드 이름을 열거할 때 PNRPCLOUDINFO 구조에서 다음 값이 반환됩니다.

dwSize

이 구조체의 크기입니다.

클라우드

실제 클라우드 값입니다.

enCloudState

클라우드의 현재 상태입니다. PNRP_CLOUD_STATE 유효한 값을 지정합니다.

enCloudFlags

클라우드 이름이 네트워크에서 유효하거나 현재 컴퓨터에서만 유효하다는 것을 나타냅니다. PNRP_CLOUD_FLAGS 유효한 값을 지정합니다. 일부 클라우드 이름은 동일한 네트워크의 모든 컴퓨터에서 유효합니다. 다른 클라우드 이름은 현재 컴퓨터에서만 유효하며 일정 기간 동안만 유효할 수 있습니다.

  • enCloudFlagsPNRP_CLOUD_NAME_LOCAL 설정되면 이름은 로컬에서만 유효합니다.
  • enCloudFlags가 설정되지 않은 경우 클라우드 이름을 다른 컴퓨터로 전송할 수 있습니다.

PNRP 및 BLOB

PNRP 및 WSALookupServiceEnd

PNRP 및 WSANSPIoctl

PNRP 및 WSAQUERYSET

PNRPCLOUDINFO

PNRPINFO

PNRP NSP 오류 코드

WSALookupServiceBegin