Estructura WSAQUERYSETW (winsock2.h)

La estructura WSAQUERYSET proporciona información relevante sobre un servicio determinado, incluido el identificador de clase de servicio, el nombre del servicio, el identificador de espacio de nombres aplicable y la información del protocolo, así como un conjunto de direcciones de transporte en las que escucha el servicio.

Sintaxis

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;

Miembros

dwSize

Tipo: DWORD

Tamaño, en bytes, de la estructura WSAQUERYSET . Este miembro se usa como mecanismo de control de versiones, ya que el tamaño de la estructura WSAQUERYSET ha cambiado en versiones posteriores de Windows.

lpszServiceInstanceName

Tipo: LPTSTR

Puntero a una cadena opcional terminada en NULL que contiene el nombre del servicio. La semántica para usar caracteres comodín dentro de la cadena no está definida, pero puede ser compatible con determinados proveedores de espacios de nombres.

lpServiceClassId

Tipo: LPGUID

GUID correspondiente a la clase de servicio. Este miembro debe establecerse.

lpVersion

Tipo: LPWSAVERSION

Puntero a un número de versión deseado opcional del proveedor de espacios de nombres. Este miembro proporciona semántica de comparación de versiones (es decir, la versión solicitada debe coincidir exactamente o la versión no debe ser menor que el valor proporcionado).

lpszComment

Tipo: LPTSTR

Este miembro se omite para las consultas.

dwNameSpace

Tipo: DWORD

Identificador de espacio de nombres que determina qué proveedores de espacios de nombres se consultan. Si se pasa un identificador de espacio de nombres específico, solo se producirán proveedores de espacios de nombres que admitan el espacio de nombres especificado que se consulta. Si se especifica NS_ALL , se consultarán todos los proveedores de espacios de nombres instalados y activos.

Las opciones para el miembro dwNameSpace aparecen en el archivo de inclusión Winsock2.h . Varios proveedores de espacios de nombres nuevos se incluyen con Windows Vista y versiones posteriores. Se pueden instalar otros proveedores de espacios de nombres, por lo que los siguientes valores posibles son solo los disponibles con frecuencia. Muchos otros valores son posibles.

Valor Significado
NS_ALL
Todos los espacios de nombres instalados y activos.
NS_BTH
Espacio de nombres Bluetooth. Este identificador de espacio de nombres se admite en Windows Vista y versiones posteriores.
NS_DNS
Espacio de nombres del sistema de nombres de dominio (DNS).
NS_EMAIL
Espacio de nombres de correo electrónico. Este identificador de espacio de nombres se admite en Windows Vista y versiones posteriores.
NS_NLA
Espacio de nombres de reconocimiento de ubicación de red (NLA). Este identificador de espacio de nombres se admite en Windows XP y versiones posteriores.
NS_PNRPNAME
Espacio de nombres punto a punto para un nombre del mismo nivel específico. Este identificador de espacio de nombres se admite en Windows Vista y versiones posteriores.
NS_PNRPCLOUD
Espacio de nombres punto a punto para una colección de nombres del mismo nivel. Este identificador de espacio de nombres se admite en Windows Vista y versiones posteriores.

lpNSProviderId

Tipo: LPGUID

Puntero a un GUID opcional de un proveedor de espacios de nombres específico para consultar en el caso de que varios proveedores de espacios de nombres se registren en un único espacio de nombres, como NS_DNS. Si se pasa el GUID de un proveedor de espacio de nombres específico, solo se consultará el proveedor de espacio de nombres especificado. Se puede llamar a las funciones WSAEnumNameSpaceProviders y WSAEnumNameSpaceProvidersEx para recuperar el GUID de un proveedor de espacios de nombres.

lpszContext

Tipo: LPTSTR

Puntero a un punto de partida opcional de la consulta en un espacio de nombres jerárquico.

dwNumberOfProtocols

Tipo: DWORD

Tamaño, en bytes, de la matriz de restricciones de protocolo. Este miembro puede ser cero.

lpafpProtocols

Tipo: LPAFPROTOCOLS

Puntero a una matriz opcional de estructuras AFPROTOCOLS . Solo se devolverán los servicios que usan estos protocolos.

lpszQueryString

Tipo: LPTSTR

Puntero a una cadena de consulta terminada en NULL opcional. Algunos espacios de nombres, como Whois++, admiten consultas de tipo SQL enriquecidas contenidas en una cadena de texto simple. Este parámetro se usa para especificar esa cadena.

dwNumberOfCsAddrs

Tipo: DWORD

Este miembro se omite para las consultas.

lpcsaBuffer

Tipo: LPCSADDR_INFO

Este miembro se omite para las consultas.

dwOutputFlags

Tipo: DWORD

Este miembro se omite para las consultas.

lpBlob

Tipo: LPBLOB

Puntero opcional a los datos que se usan para consultar o establecer información de espacio de nombres específico del proveedor. El formato de esta información es específico del proveedor de espacios de nombres.

Comentarios

La estructura WSAQUERYSET se usa como parte de la arquitectura original del proveedor de espacios de nombres versión 1 disponible en Windows 95 y versiones posteriores. Hay disponible una versión más reciente 2 de la arquitectura del espacio de nombres en Windows Vista y versiones posteriores.

En la mayoría de los casos, las aplicaciones interesadas solo en un protocolo de transporte determinado deben restringir su consulta por familia de direcciones y protocolos en lugar de por espacio de nombres. Esto permitiría que una aplicación que necesite localizar un servicio TCP/IP, por ejemplo, que todas las consultas estén procesadas por todos los espacios de nombres disponibles, como el archivo de hosts locales, DNS y NIS.

Nota

El encabezado winsock2.h define WSAQUERYSET como alias que selecciona automáticamente la versión ANSI o Unicode de esta función en función de la definición de la constante de preprocesador UNICODE. La combinación del uso del alias neutro de codificación con código que no es neutral de codificación puede provocar discrepancias que dan lugar a errores de compilación o en tiempo de ejecución. Para obtener más información, vea Convenciones para prototipos de función.

Requisitos

Requisito Value
Cliente mínimo compatible Windows 2000 Professional [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows 2000 Server [solo aplicaciones de escritorio]
Encabezado winsock2.h

Consulte también

Bluetooth y WSAQUERYSET para la consulta de dispositivos

Bluetooth y WSAQUERYSET para la consulta del servicio

Bluetooth y WSAQUERYSET para Set Service

WSAEnumNameSpaceProviders

WSAEnumNameSpaceProvidersEx

WSALookupServiceBegin

WSALookupServiceNext

WSAQUERYSET2

WSASetService