Compartir a través de


PNRP y WSANSPIoctl

PNRP usa la función de WSANSPIoctl para recibir notificaciones sobre los cambios en lo siguiente:

  • Una lista de nube de red
  • Disponibilidad de los resultados de una solicitud de resolución de nombres

La primera llamada a WSALookupServiceBegin define el tipo de información sobre la que se notifica a un cliente. Un cliente puede recibir una notificación con un mensaje de Windows, una rutina de finalización, un identificador de un objeto WSAEVENT o un puerto. Para obtener más información sobre las opciones y establecer el parámetro lpCompletion, vea WSANSPIoctl.

Para seguir recibiendo notificaciones después de una llamada a WSALookupServiceNext, una aplicación debe llamar a WSANSPIoctl de nuevo.

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.

Al llamar a esta función, los parámetros deben tener los siguientes valores:

hLookup

Especifica el identificador que devuelve WSALookupServiceBegin.

dwControlCode

Debe ser SIO_NSP_NOTIFY_CHANGE.

lpvInBuffer

Debe ser null.

cbInBuffer

Debe ser cero (0).

lpvOutBuffer

Debe ser null.

cbOutBuffer

Debe ser cero (0).

lpcbBytesReturned

Debe ser null.

lpCompletion

Especifica NULL o un puntero a una estructura deWSACOMPLETION de.

Después de recibir una notificación, llame a WSALookupServiceNext una vez para obtener los resultados.

Para finalizar una búsqueda, llame a WSALookupServiceEnd.

Notificaciones de resolución

Un cliente puede recibir una notificación cada vez que se agrega una entrada de resolución de nombres. A continuación, el cliente llama a WSALookupServiceNext para obtener los datos de resolución.

Si el cliente no usa esta técnica, se puede bloquear una llamada a WSALookupServiceNext hasta que se produzca el tiempo de espera especificado.

Notificaciones de lista en la nube

Un cliente puede recibir una notificación cada vez que haya un cambio en un conjunto de nubes.

La funciónWSALookupServiceNextdevuelve WSA_E_NO_MORE como delimitador set. La aplicación cliente debe enumerar las nubes existentes hasta que se devuelva este mensaje y, a continuación, usar un esquema de notificación para recuperar los cambios posteriores a medida que se produzcan. Una aplicación cliente también puede llamar a WSALookupServiceNext, pero la llamada se bloquea hasta que se produzca un cambio.

La funciónWSALookupServiceNextdevuelve una nube en una estructura WSAQUERYSET. Se devuelve una de las marcas siguientes en el miembro dwOutputFlags.

Valor Descripción
RESULT_IS_ADDED Se agrega la nube que se devuelve.
RESULT_IS_CHANGED Se cambia la nube que se devuelve.
RESULT_IS_DELETED La nube que se devuelve se elimina y no es válida.

 

PNRP y WSALookupServiceBegin

PNRP y WSALookupServiceEnd

PNRP y WSAQUERYSET

códigos de error de NSP de PNRP

WSANSPIoctl

WSALookupServiceBegin

WSALookupServiceEnd

WSAQUERYSET