structure WSAQUERYSET2W (winsock2.h)

La structure WSAQUERYSET2 fournit des informations pertinentes sur un service donné, notamment l’ID de classe de service, le nom du service, l’identificateur d’espace de noms et les informations de protocole applicables, ainsi qu’un ensemble d’adresses de transport auxquelles le service écoute.

Syntaxe

typedef struct _WSAQuerySet2W {
  DWORD         dwSize;
  LPWSTR        lpszServiceInstanceName;
  LPWSAVERSION  lpVersion;
  LPWSTR        lpszComment;
  DWORD         dwNameSpace;
  LPGUID        lpNSProviderId;
  LPWSTR        lpszContext;
  DWORD         dwNumberOfProtocols;
  LPAFPROTOCOLS lpafpProtocols;
  LPWSTR        lpszQueryString;
  DWORD         dwNumberOfCsAddrs;
  LPCSADDR_INFO lpcsaBuffer;
  DWORD         dwOutputFlags;
  LPBLOB        lpBlob;
} WSAQUERYSET2W, *PWSAQUERYSET2W, *LPWSAQUERYSET2W;

Membres

dwSize

Type : DWORD

Taille, en octets, de la structure WSAQUERYSET2 . Ce membre est utilisé comme mécanisme de contrôle de version, car la taille de la structure WSAQUERYSET2 peut changer sur les versions ultérieures de Windows.

lpszServiceInstanceName

Type : LPTSTR

Pointeur vers une chaîne null facultative qui contient le nom du service. La sémantique de l’utilisation de caractères génériques dans la chaîne n’est pas définie, mais peut être prise en charge par certains fournisseurs d’espaces de noms.

lpVersion

Type : LPWSAVERSION

Pointeur vers un numéro de version souhaité facultatif du fournisseur d’espace de noms. Ce membre fournit une sémantique de comparaison de versions (autrement dit, la version demandée doit correspondre exactement ou la version ne doit pas être inférieure à la valeur fournie).

lpszComment

Type : LPTSTR

Ce membre est ignoré pour les requêtes.

dwNameSpace

Type : DWORD

Identificateur d’espace de noms qui détermine les fournisseurs d’espaces de noms qui sont interrogés. Le passage d’un identificateur d’espace de noms spécifique entraîne uniquement l’interrogation des fournisseurs d’espaces de noms qui prennent en charge l’espace de noms spécifié. Si vous spécifiez NS_ALL , tous les fournisseurs d’espaces de noms installés et actifs sont interrogés.

Les options du membre dwNameSpace sont répertoriées dans le fichier include Winsock2.h . Plusieurs nouveaux fournisseurs d’espaces de noms sont inclus dans Windows Vista et versions ultérieures. D’autres fournisseurs d’espaces de noms peuvent être installés, de sorte que les valeurs possibles suivantes sont uniquement celles couramment disponibles. De nombreuses autres valeurs sont possibles.

Valeur Signification
NS_ALL
Tous les espaces de noms installés et actifs.
NS_BTH
Espace de noms Bluetooth. Cet identificateur d’espace de noms est pris en charge sur Windows Vista et versions ultérieures.
NS_DNS
Espace de noms de domaine (DNS).
NS_EMAIL
Espace de noms d’e-mail. Cet identificateur d’espace de noms est pris en charge sur Windows Vista et versions ultérieures.
NS_NLA
Espace de noms de reconnaissance de l’emplacement réseau (NLA). Cet identificateur d’espace de noms est pris en charge sur Windows XP et versions ultérieures.
NS_PNRPNAME
Espace de nom d’égal à égal pour un nom d’homologue spécifique. Cet identificateur d’espace de noms est pris en charge sur Windows Vista et versions ultérieures.
NS_PNRPCLOUD
Espace de nom d’égal à égal pour une collection de noms d’homologues. Cet identificateur d’espace de noms est pris en charge sur Windows Vista et versions ultérieures.

lpNSProviderId

Type : LPGUID

Pointeur vers un GUID facultatif d’un fournisseur d’espace de noms spécifique à interroger dans le cas où plusieurs fournisseurs d’espaces de noms sont inscrits sous un espace de noms unique, comme NS_DNS. Le passage du GUID pour un fournisseur d’espace de noms spécifique entraîne uniquement l’interrogation du fournisseur d’espaces de noms spécifié. Les fonctions WSAEnumNameSpaceProviders et WSAEnumNameSpaceProvidersEx peuvent être appelées pour récupérer le GUID d’un fournisseur d’espace de noms.

lpszContext

Type : LPTSTR

Pointeur vers un point de départ facultatif de la requête dans un espace de noms hiérarchique.

dwNumberOfProtocols

Type : DWORD

Taille, en octets, du tableau de contraintes de protocole. Ce membre peut être égal à zéro.

lpafpProtocols

Type : LPAFPROTOCOLS

Pointeur vers un tableau facultatif de structures AFPROTOCOLS . Seuls les services qui utilisent ces protocoles seront retournés.

lpszQueryString

Type : LPTSTR

Pointeur vers une chaîne de requête null facultative. Certains espaces de noms, tels que Whois++, prennent en charge les requêtes de type SQL enrichies contenues dans une chaîne de texte simple. Ce paramètre est utilisé pour spécifier cette chaîne.

dwNumberOfCsAddrs

Type : DWORD

Ce membre est ignoré pour les requêtes.

lpcsaBuffer

Type : LPCSADDR_INFO

Ce membre est ignoré pour les requêtes.

dwOutputFlags

Type : DWORD

Ce membre est ignoré pour les requêtes.

lpBlob

Type : LPBLOB

Pointeur facultatif vers des données utilisées pour interroger ou définir des informations d’espace de noms spécifiques au fournisseur. Le format de ces informations est spécifique au fournisseur d’espace de noms.

Remarques

La structure WSAQUERYSET2 est utilisée dans le cadre de l’architecture du fournisseur de services d’espace de noms version 2 (NSPv2) disponible sur Windows Vista et versions ultérieures.

Sur Windows Vista et Windows Server 2008, la structure WSAQUERYSET2 ne peut être utilisée que pour les opérations sur NS_EMAIL fournisseurs d’espaces de noms.

Notes

L’en-tête winsock2.h définit WSAQUERYSET2 comme un alias qui sélectionne automatiquement la version ANSI ou Unicode de cette fonction en fonction de la définition de la constante de préprocesseur UNICODE. Le mélange de l’utilisation de l’alias neutre en encodage avec du code qui n’est pas neutre en encodage peut entraîner des incompatibilités qui entraînent des erreurs de compilation ou d’exécution. Pour plus d’informations, consultez Conventions pour les prototypes de fonction.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows Vista [applications de bureau uniquement]
Serveur minimal pris en charge Windows Server 2008 [applications de bureau uniquement]
En-tête winsock2.h

Voir aussi

WSAEnumNameSpaceProviders

WSAEnumNameSpaceProvidersEx

WSASetService