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.
Rubriques connexes
-
PNRP et le BLOB