Partager via


PNRP et WSANSPIoctl

PNRP utilise la fonction WSANSPIoctl pour recevoir des notifications sur les modifications apportées aux éléments suivants :

  • Une liste cloud réseau
  • Disponibilité des résultats d’une demande de résolution de noms

Le premier appel à WSALookupServiceBegin définit le type d’informations sur laquelle un client est averti. Un client peut être averti avec un message Windows, une routine d’achèvement, un handle vers un objet WSAEVENT ou un port. Pour plus d’informations sur les options et la définition du paramètre lpCompletion, consultez WSANSPIoctl.

Pour continuer à recevoir des notifications après un appel à WSALookupServiceNext, une application doit appeler à nouveau WSANSPIoctl.

La fonction WSALookupServiceNext bloque même si WSANSPIoctl est appelée. Avant d’appeler WSALookupServiceNext, une application doit attendre qu’elle reçoive une notification , si le blocage est un problème.

Lors de l’appel de cette fonction, les paramètres doivent avoir les valeurs suivantes :

hLookup

Spécifie le handle qui WSALookupServiceBegin retourne.

dwControlCode

Doit être SIO_NSP_NOTIFY_CHANGE.

lpvInBuffer

Doit être NULL .

cbInBuffer

Doit être égal à zéro (0).

lpvOutBuffer

Doit être NULL .

cbOutBuffer

Doit être égal à zéro (0).

lpcbBytesReturned

Doit être NULL .

lpCompletion

Spécifie NULL ou un pointeur vers une structure WSACOMPLETION.

Une fois qu’une notification est reçue, appelez WSALookupServiceNext une fois pour obtenir les résultats.

Pour terminer une recherche, appelez WSALookupServiceEnd.

Notifications de résolution

Un client peut être averti à tout moment qu’une entrée de résolution de noms est ajoutée. Le client appelle ensuite WSALookupServiceNext pour obtenir les données de résolution.

Si le client n’utilise pas cette technique, un appel à WSALookupServiceNext peut être bloqué jusqu’à ce que le délai d’expiration spécifié se produise.

Notifications de liste cloud

Un client peut être averti chaque fois qu’il y a une modification apportée à un ensemble de clouds.

La fonction WSALookupServiceNext retourne WSA_E_NO_MORE en tant que délimiteur défini. L’application cliente doit énumérer les clouds existants jusqu’à ce que ce message soit retourné, puis utiliser un schéma de notification pour récupérer les modifications suivantes à mesure qu’elles se produisent. Une application cliente peut également appeler WSALookupServiceNext, mais l’appel est bloqué jusqu’à ce qu’une modification se produise.

La fonction WSALookupServiceNext retourne un cloud dans une structure WSAQUERYSET. L’un des indicateurs suivants est retourné dans le membre dwOutputFlags.

Valeur Description
RESULT_IS_ADDED Le cloud retourné est ajouté.
RESULT_IS_CHANGED Le cloud retourné est modifié.
RESULT_IS_DELETED Le cloud retourné est supprimé et n’est pas valide.

 

PNRP et WSALookupServiceBegin

PNRP et WSALookupServiceEnd

PNRP et WSAQUERYSET

codes d’erreur NSP PNRP

WSANSPIoctl

WSALookupServiceBegin

WSALookupServiceEnd

WSAQUERYSET