Partager via


structure WSAQUERYSET2A (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 _WSAQuerySet2A {
  DWORD         dwSize;
  LPSTR         lpszServiceInstanceName;
  LPWSAVERSION  lpVersion;
  LPSTR         lpszComment;
  DWORD         dwNameSpace;
  LPGUID        lpNSProviderId;
  LPSTR         lpszContext;
  DWORD         dwNumberOfProtocols;
  LPAFPROTOCOLS lpafpProtocols;
  LPSTR         lpszQueryString;
  DWORD         dwNumberOfCsAddrs;
  LPCSADDR_INFO lpcsaBuffer;
  DWORD         dwOutputFlags;
  LPBLOB        lpBlob;
} WSAQUERYSET2A, *PWSAQUERYSET2A, *LPWSAQUERYSET2A;

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 facultative NULL-terminated string qui contient le nom du service. La sémantique d’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’espaces 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 interrogés. Le passage d’un identificateur d’espace de noms spécifique entraîne uniquement des fournisseurs d’espaces de noms qui prennent en charge l’espace de noms spécifié interrogé. La spécification de NS_ALL entraîne l’interrogation de tous les fournisseurs d’espaces de noms installés et actifs.

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. Les valeurs possibles suivantes sont donc 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 DNS (Domain Name System).
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 NLA (Network Location Awareness). 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’espaces de noms spécifique à interroger dans le cas où plusieurs fournisseurs d’espaces de noms sont inscrits sous un espace de noms unique tel que NS_DNS. Le passage du GUID pour un fournisseur d’espaces 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’espaces 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 sont retournés.

lpszQueryString

Type : LPTSTR

Pointeur vers une chaîne de requêteNULL 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’espaces 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.

Note

L’en-tête winsock2.h définit WSAQUERYSET2 en tant qu’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.

Exigences

Exigence Valeur
client minimum pris en charge Windows Vista [applications de bureau uniquement]
serveur minimum pris en charge Windows Server 2008 [applications de bureau uniquement]
d’en-tête winsock2.h

Voir aussi

WSAEnumNameSpaceProviders

WSAEnumNameSpaceProvidersEx

WSASetService