Compartir a través de


PNRP y WSALookupServiceNext

PNRP usa la función WSALookupServiceNext para buscar coincidencias con las consultas especificadas en una llamada anterior a WSALookupServiceBegin. Los resultados de la función WSALookupServiceNext se determinan mediante la configuración de la estructura WSAQUERYSET pasada en la llamada de función WSALookupServiceBegin inicial. Esta función se usa para realizar las dos funciones siguientes:

  • Resolución de un nombre del mismo nivel en una lista de direcciones
  • Enumeración de nubes de red

Mediante WSANSPIoctl, el servicio de búsqueda se puede usar de forma asincrónica. Para obtener información sobre cómo usar las funciones del servicio de búsqueda de forma asincrónica, consulte PNRP y WSANSPIoctl.

La función WSALookupServiceNext se bloquea incluso si se llama a WSANSPIoctl . Antes de llamar a WSALookupServiceNext, una aplicación debe esperar hasta que reciba una notificación, si el bloqueo es un problema.

Resolución de un nombre del mismo nivel en una lista de direcciones

Al resolver un nombre del mismo nivel en una lista de direcciones, la estructura LPWSAQUERYSET devuelta en el parámetro lpqsResults contiene los valores siguientes:

dwSize

Devuelve el tamaño de la estructura.

lpszServiceInstanceName

Devuelve un nombre del mismo nivel, si se especifican LUP_RETURN_NAME, LUP_RETURN_ALL o NULL .

lpServiceClassID

Devuelve SVCID_PNRPNAME.

lpVersion

Devuelve NULL.

lpszComment

Devuelve un comentario, si se especifican LUP_RETURN_COMMENT, LUP_RETURN_ALL o NULL .

dwNameSpace

Devuelve NS_PNRPNAME.

lpNSProviderID

Devuelve NS_PROVIDER_PNRPNAME.

lpszContext

Devuelve el nombre de la nube si se especifican LUP_RETURN_NAME, LUP_RETURN_ALL o NULL .

dwNumberOfProtocols

Devuelve cero (0).

lpszQueryString

Devuelve NULL.

dwNumberOfCsAddrs

Devuelve el número de entradas de la matriz CSADDR_INFO si se especifican LUP_RETURN_ADDR, LUP_RETURN_ALL o NULL . Este valor y la información de lpcsaBuffer son los bits clave de información devuelta en esta estructura.

lpcsaBuffer

Devuelve un puntero a una matriz de estructuras de CSADDR_INFO si se especifican LUP_RETURN_ADDR, LUP_RETURN_ALL o NULL . Este búfer y el valor de dwNumberOfCsAddrs son los bits de información clave devueltos en esta estructura.

dwOutputFlags

Devuelve cero (0).

lpBlob

Devuelve NULL.

Enumeración de nubes de red

Al enumerar nubes, la estructura LPWSAQUERYSET devuelta en el parámetro lpqsResults contiene los valores siguientes:

dwSize

Devuelve el tamaño de la estructura.

lpszServiceInstanceName

Devuelve un nombre de nube, si se especifican LUP_RETURN_NAME, LUP_RETURN_ALL o NULL .

lpServiceClassID

Devuelve SVCID_PNRPCLOUD.

lpVersion

Devuelve NULL.

lpszComment

Devuelve NULL.

dwNameSpace

Devuelve NS_PNRPCLOUD.

lpNSProviderID

Devuelve NS_PROVIDER_PNRPCLOUD.

lpszContext

Devuelve NULL.

dwNumberOfProtocols

Devuelve cero (0).

lpszQueryString

Devuelve NULL.

dwNumberOfCsAddrs

Devuelve cero (0).

lpcsaBuffer

Devuelve NULL.

dwOutputFlags

Devuelve cero (0).

lpBlob

Devuelve un puntero a una estructura BLOB que apunta a una estructura PNRPCLOUDINFO , si se especifican LUP_RETURN_BLOB, LUP_RETURN_ALL o NULL .

Estructura PNRPCLOUDINFO

Al enumerar nombres en la nube, se devuelven los valores siguientes en la estructura PNRPCLOUDINFO :

dwSize

Tamaño de esta estructura.

Nube

Valor real de la nube.

enCloudState

Estado actual de una nube. PNRP_CLOUD_STATE especifica los valores válidos.

enCloudFlags

Indica que un nombre de nube es válido en una red o solo es válido en un equipo actual. PNRP_CLOUD_FLAGS especifica los valores válidos. Algunos nombres de nube son válidos en cualquier equipo de la misma red. Otros nombres de nube solo son válidos en un equipo actual y pueden ser válidos solo durante un período de tiempo.

  • Si enCloudFlags se establece en PNRP_CLOUD_NAME_LOCAL, el nombre solo es válido localmente.
  • Si no se establece enCloudFlags , el nombre de la nube se puede transferir a otros equipos.

PNRP y BLOB

PNRP y WSALookupServiceEnd

PNRP y WSANSPIoctl

PNRP y WSAQUERYSET

PNRPCLOUDINFO

PNRPINFO

Códigos de error de NSP de PNRP

WSALookupServiceBegin