Partager via


PNRP et WSALookupServiceNext

PNRP utilise la fonction WSALookupServiceNext pour faire correspondre les requêtes spécifiées dans un appel précédent à WSALookupServiceBegin. Les résultats de la fonction WSALookupServiceNext sont déterminés par les paramètres de la structure WSAQUERYSET passés dans l’appel de fonction WSALookupServiceBegin initial. Cette fonction est utilisée pour effectuer les deux fonctions suivantes :

  • Résolution d’un nom d’homologue dans une liste d’adresses
  • Énumération des clouds réseau

En utilisant WSANSPIoctl, le service de recherche peut être utilisé de manière asynchrone. Pour plus d’informations sur l’utilisation asynchrone des fonctions du service de recherche, consultez PNRP et WSANSPIoctl.

La fonction WSALookupServiceNext bloque même si WSANSPIoctl est appelé. Avant d’appeler WSALookupServiceNext, une application doit attendre de recevoir une notification si le blocage est un problème.

Résolution d’un nom d’homologue dans une liste d’adresses

Lors de la résolution d’un nom d’homologue en une liste d’adresses, la structure LPWSAQUERYSET retournée dans le paramètre lpqsResults contient les valeurs suivantes :

dwSize

Retourne la taille de la structure.

lpszServiceInstanceName

Retourne un nom d’homologue si LUP_RETURN_NAME, LUP_RETURN_ALL ou NULL sont spécifiés.

lpServiceClassID

Retourne SVCID_PNRPNAME.

lpVersion

Retourne la valeur NULL.

lpszComment

Retourne un commentaire si LUP_RETURN_COMMENT, LUP_RETURN_ALL ou NULL sont spécifiés.

dwNameSpace

Retourne NS_PNRPNAME.

lpNSProviderID

Retourne NS_PROVIDER_PNRPNAME.

lpszContext

Retourne le nom du cloud si LUP_RETURN_NAME, LUP_RETURN_ALL ou NULL sont spécifiés.

dwNumberOfProtocols

Retourne zéro (0).

lpszQueryString

Retourne la valeur NULL.

dwNumberOfCsAddrs

Retourne le nombre d’entrées dans le tableau CSADDR_INFO si LUP_RETURN_ADDR, LUP_RETURN_ALL ou NULL sont spécifiés. Cette valeur et les informations contenues dans lpcsaBuffer sont les éléments clés d’informations retournés dans cette structure.

lpcsaBuffer

Retourne un pointeur vers un tableau de structures CSADDR_INFO si LUP_RETURN_ADDR, LUP_RETURN_ALL ou NULL sont spécifiés. Cette mémoire tampon et la valeur dans dwNumberOfCsAddrs sont les bits d’informations clés retournés dans cette structure.

dwOutputFlags

Retourne zéro (0).

lpBlob

Retourne la valeur NULL.

Énumération des clouds réseau

Lors de l’énumération de clouds, la structure LPWSAQUERYSET retournée dans le paramètre lpqsResults contient les valeurs suivantes :

dwSize

Retourne la taille de la structure.

lpszServiceInstanceName

Retourne un nom de cloud si LUP_RETURN_NAME, LUP_RETURN_ALL ou NULL sont spécifiés.

lpServiceClassID

Retourne SVCID_PNRPCLOUD.

lpVersion

Retourne la valeur NULL.

lpszComment

Retourne la valeur NULL.

dwNameSpace

Retourne NS_PNRPCLOUD.

lpNSProviderID

Retourne NS_PROVIDER_PNRPCLOUD.

lpszContext

Retourne la valeur NULL.

dwNumberOfProtocols

Retourne zéro (0).

lpszQueryString

Retourne la valeur NULL.

dwNumberOfCsAddrs

Retourne zéro (0).

lpcsaBuffer

Retourne la valeur NULL.

dwOutputFlags

Retourne zéro (0).

lpBlob

Retourne un pointeur vers une structure BLOB qui pointe vers une structure PNRPCLOUDINFO si LUP_RETURN_BLOB, LUP_RETURN_ALL ou NULL sont spécifiés.

PNRPCLOUDINFO Structure

Lors de l’énumération de noms de cloud, les valeurs suivantes sont retournées dans la structure PNRPCLOUDINFO :

dwSize

La taille de cette structure.

Nuage

Valeur cloud réelle.

enCloudState

État actuel d’un cloud. PNRP_CLOUD_STATE spécifie les valeurs valides.

enCloudFlags

Indique qu’un nom de cloud est valide sur un réseau ou uniquement sur un ordinateur actif. PNRP_CLOUD_FLAGS spécifie les valeurs valides. Certains noms de cloud sont valides sur n’importe quel ordinateur du même réseau. Les autres noms de cloud ne sont valides que sur un ordinateur actuel et peuvent être valides uniquement pendant une période de temps.

  • Si enCloudFlags est défini sur PNRP_CLOUD_NAME_LOCAL, le nom est valide uniquement localement.
  • Si enCloudFlags n’est pas défini, le nom du cloud peut être transféré vers d’autres ordinateurs.

PNRP et BLOB

PNRP et WSALookupServiceEnd

PNRP et WSANSPIoctl

PNRP et WSAQUERYSET

PNRPCLOUDINFO

PNRPINFO

Codes d’erreur PNRP NSP

WSALookupServiceBegin