PNRP y WSALookupServiceNext
PNRP usa la función de 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 de 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ónWSALookupServiceNext 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, el LPWSAQUERYSET estructura 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_ALLo null.
-
lpServiceClassID
-
Devuelve SVCID_PNRPNAME.
-
lpVersion
-
Devuelve NULL .
-
lpszComment
-
Devuelve un comentario: si se especifican LUP_RETURN_COMMENT, LUP_RETURN_ALLo 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_ALLo NULL.
-
dwNumberOfProtocols
-
Devuelve cero (0).
-
lpszQueryString
-
Devuelve NULL .
-
dwNumberOfCsAddrs
-
Devuelve el número de entradas de la matriz de CSADDR_INFO si se especifican LUP_RETURN_ADDR, LUP_RETURN_ALLo 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, el LPWSAQUERYSET estructura devuelta en el parámetro lpqsResults contiene los siguientes valores:
-
dwSize
-
Devuelve el tamaño de la estructura.
-
lpszServiceInstanceName
-
Devuelve un nombre de nube: si se especifican LUP_RETURN_NAME, LUP_RETURN_ALLo 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 estructuraBLOB deque apunta a una estructura de PNRPCLOUDINFO, si se especifican LUP_RETURN_BLOB, LUP_RETURN_ALLo NULL.
PNRPCLOUDINFO (estructura)
Al enumerar nombres de nube, se devuelven los siguientes valores en la estructura PNRPCLOUDINFO:
-
dwSize
-
Tamaño de esta estructura.
-
Cloud
-
Valor real de la nube.
-
enCloudState
-
Estado actual de una nube. PNRP_CLOUD_STATE especifica los valores válidos.
-
enCloudFlags
-
Indica que un nombre en la nube es válido en una red o que 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 está establecido 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.
Temas relacionados