PNRP 和 WSALookupServiceNext

PNRP 使用 WSALookupServiceNext 函数来匹配上一次调用 WSALookupServiceBegin 中指定的查询。 WSALookupServiceNext 函数的结果由初始 WSALookupServiceBegin 函数调用中传递的 WSAQUERYSET 结构中的设置确定。 此函数用于执行以下两个函数:

  • 将对等名称解析为地址列表
  • 枚举网络云

通过使用 WSANSPIoctl,可以异步使用查找服务。 有关异步使用查找服务函数的信息,请参阅 PNRP 和 WSANSPIoctl

即使调用 WSANSPIoctlWSALookupServiceNext 函数也会阻止。 在调用 WSALookupServiceNext 之前,应用程序必须等到收到通知(如果阻止是一个问题)。

将对等名称解析为地址列表

将对等名称解析为地址列表时,lpqsResults 参数中返回的 LPWSAQUERYSET 结构包含以下值:

dwSize

返回结构的大小。

lpszServiceInstanceName

如果指定 了LUP_RETURN_NAMELUP_RETURN_ALLNULL ,则返回对等名称。

lpServiceClassID

返回 SVCID_PNRPNAME

lpVersion

返回 NULL

lpszComment

如果指定 了LUP_RETURN_COMMENTLUP_RETURN_ALLNULL ,则返回注释。

dwNameSpace

返回 NS_PNRPNAME

lpNSProviderID

返回 NS_PROVIDER_PNRPNAME

lpszContext

如果指定 了LUP_RETURN_NAMELUP_RETURN_ALLNULL ,则返回云名称。

dwNumberOfProtocols

返回零 (0) 。

lpszQueryString

返回 NULL

dwNumberOfCsAddrs

如果指定了LUP_RETURN_ADDR、LUP_RETURN_ALL或 NULL,则返回CSADDR_INFO数组中的条目数。 此值和 lpcsaBuffer 中的信息是此结构中返回的信息的关键位。

lpcsaBuffer

如果指定了LUP_RETURN_ADDR、LUP_RETURN_ALLNULL,则返回指向CSADDR_INFO结构的数组的指针。 此缓冲区和 dwNumberOfCsAddrs 中的值是此结构中返回的关键信息位。

dwOutputFlags

返回零 (0) 。

lpBlob

返回 NULL

枚举网络云

枚举云时,lpqsResults 参数中返回的 LPWSAQUERYSET 结构包含以下值:

dwSize

返回结构的大小。

lpszServiceInstanceName

如果指定 了LUP_RETURN_NAMELUP_RETURN_ALLNULL ,则返回云名称。

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

返回指向 BLOB 结构的指针,该结构指向 PNRPCLOUDINFO 结构(如果指定 了LUP_RETURN_BLOBLUP_RETURN_ALLNULL )。

PNRPCLOUDINFO 结构

枚举云名称时, PNRPCLOUDINFO 结构中会返回以下值:

dwSize

此结构的大小。

实际云值。

enCloudState

云的当前状态。 PNRP_CLOUD_STATE 指定有效值。

enCloudFlags

指示云名称在网络上有效,或仅在当前计算机上有效。 PNRP_CLOUD_FLAGS 指定有效值。 某些云名称在同一网络上的任何计算机上都有效。 其他云名称仅在当前计算机上有效,并且可能仅在一段时间内有效。

  • 如果 enCloudFlags 设置为 PNRP_CLOUD_NAME_LOCAL, 则名称仅在本地有效。
  • 如果未设置 enCloudFlags ,则可以将云名称传输到其他计算机。

PNRP 和 BLOB

PNRP 和 WSALookupServiceEnd

PNRP 和 WSANSPIoctl

PNRP 和 WSAQUERYSET

PNRPCLOUDINFO

PNRPINFO

PNRP NSP 错误代码

WSALookupServiceBegin