Partager via


PNRP et WSANSPIoctl

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

  • Liste du 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 dont un client est averti. Un client peut être averti avec un message Windows, une routine d’achèvement, un handle pour 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 se bloque même si WSANSPIoctl est appelé. 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 retourné par WSALookupServiceBegin .

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 mettre fin à une recherche, appelez WSALookupServiceEnd.

Notifications de résolution

Un client peut être averti à tout moment de l’ajout d’une entrée de résolution de noms. 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 modification d’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 au fur et à 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 PNRP NSP

WSANSPIoctl

WSALookupServiceBegin

WSALookupServiceEnd

WSAQUERYSET