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 WSAQUERY SET passée dans l’appel initial WSALookupServiceBegin fonction. Cette fonction est utilisée pour effectuer les deux fonctions suivantes :

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

À l’aide de WSANSPIoctl, le service de recherche peut être utilisé de manière asynchrone. Pour plus d’informations sur l’utilisation asynchrone des fonctions de service de recherche, consultez PNRP et 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.

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

Lors de la résolution d’un nom d’homologue dans une liste d’adresses, la structureLPWSAQUERYSETretourné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_ALLou NULL sont spécifiés.

lpServiceClassID

Retourne SVCID_PNRPNAME.

lpVersion

Retourne NULL.

lpszComment

Retourne un commentaire : si LUP_RETURN_COMMENT, LUP_RETURN_ALLou 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_ALLou NULL sont spécifiés.

dwNumberOfProtocols

Renvoie zéro (0).

lpszQueryString

Retourne NULL.

dwNumberOfCsAddrs

Retourne le nombre d’entrées dans le tableau CSADDR_INFO si LUP_RETURN_ADDR, LUP_RETURN_ALLou NULL sont spécifiées. Cette valeur et les informations de lpcsaBuffer sont les bits clés des informations retournées dans cette structure.

lpcsaBuffer

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

dwOutputFlags

Renvoie zéro (0).

lpBlob

Retourne NULL.

Énumération des clouds réseau

Lors de l’énumération de clouds, la structureLPWSAQUERYSETretourné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_ALLou NULL sont spécifiés.

lpServiceClassID

Retourne SVCID_PNRPCLOUD.

lpVersion

Retourne NULL.

lpszComment

Retourne NULL.

dwNameSpace

Retourne NS_PNRPCLOUD.

lpNSProviderID

Retourne NS_PROVIDER_PNRPCLOUD.

lpszContext

Retourne NULL.

dwNumberOfProtocols

Renvoie zéro (0).

lpszQueryString

Retourne NULL.

dwNumberOfCsAddrs

Renvoie zéro (0).

lpcsaBuffer

Retourne NULL.

dwOutputFlags

Renvoie zéro (0).

lpBlob

Retourne un pointeur vers une structureBLOBpointant vers une structure PNRPCLOUDINFO, si LUP_RETURN_BLOB, LUP_RETURN_ALLou NULL sont spécifiées.

PNRPCLOUDINFO, structure

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

dwSize

Taille de cette structure.

Cloud

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 actuel. PNRP_CLOUD_FLAGS spécifie les valeurs valides. Certains noms de cloud sont valides sur n’importe quel ordinateur sur le même réseau. Les autres noms de cloud sont valides uniquement sur un ordinateur actuel et peuvent être valides uniquement pendant une période donnée.

  • 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 le BLOB

PNRP et WSALookupServiceEnd

PNRP et WSANSPIoctl

PNRP et WSAQUERYSET

PNRPCLOUDINFO

PNRPINFO

codes d’erreur NSP PNRP

WSALookupServiceBegin