Partager via


Structure WSAQUERYSETW (winsock2.h)

La structure WSAQUERYSET 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 à l’écoute du service.

Syntaxe

typedef struct _WSAQuerySetW {
  DWORD         dwSize;
  LPWSTR        lpszServiceInstanceName;
  LPGUID        lpServiceClassId;
  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;
} WSAQUERYSETW, *PWSAQUERYSETW, *LPWSAQUERYSETW;

Membres

dwSize

Type : DWORD

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

lpszServiceInstanceName

Type : LPTSTR

Pointeur vers une chaîne facultative terminée par NULL 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.

lpServiceClassId

Type : LPGUID

GUID correspondant à la classe de service. Ce membre doit être défini.

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ête terminée par 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’espaces de noms.

Remarques

La structure WSAQUERYSET est utilisée dans le cadre de l’architecture du fournisseur d’espace de noms d’origine version 1 disponible sur Windows 95 et versions ultérieures. Une version 2 plus récente de l’architecture d’espace de noms est disponible sur Windows Vista et versions ultérieures.

Dans la plupart des cas, les applications qui s’intéressent uniquement à un protocole de transport particulier doivent limiter leur requête par famille d’adresses et par protocole plutôt que par espace de noms. Cela permettrait à une application qui doit localiser un service TCP/IP, par exemple, de traiter sa requête par tous les espaces de noms disponibles tels que le fichier hôtes locaux, DNS et NIS.

Note

L’en-tête winsock2.h définit WSAQUERYSET comme 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 2000 Professionnel [applications de bureau uniquement]
serveur minimum pris en charge Windows 2000 Server [applications de bureau uniquement]
d’en-tête winsock2.h

Voir aussi

Bluetooth et WSAQUERYSET pour l’enquête sur les appareils

Bluetooth et WSAQUERYSET pour l' d’enquête sur les services

Bluetooth et WSAQUERYSET pour set Service

WSAEnumNameSpaceProviders

WSAEnumNameSpaceProvidersEx

WSALookupServiceBegin

WSALookupServiceNext

WSAQUERYSET2

WSASetService