estructura WSAQUERYSET2W (winsock2.h)

La estructura de WSAQUERYSET2 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 _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;

Miembros

dwSize

Tipo: DWORD

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

lpszServiceInstanceName

Tipo: LPTSTR

Puntero a una cadena terminada en NULL opcional 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.

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. Pasar un identificador de espacio de nombres específico solo dará lugar a proveedores de espacios de nombres que admitan el espacio de nombres especificado que se está consultando. Si se especifica NS_ALL , se consultarán todos los proveedores de espacios de nombres instalados y activos.

Las opciones del miembro dwNameSpace se muestran en el archivo de inclusión Winsock2.h . Se incluyen varios proveedores de espacios de nombres nuevos 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 es compatible con 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 espacio de nombres específico que se va a 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 espacios 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 enriquecidas de tipo SQL 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ífica del proveedor. El formato de esta información es específico del proveedor de espacios de nombres.

Comentarios

La estructura de WSAQUERYSET2 se usa como parte de la arquitectura del proveedor de servicios de espacio de nombres versión 2 (NSPv2) disponible en Windows Vista y versiones posteriores.

En Windows Vista y Windows Server 2008, la estructura WSAQUERYSET2 solo se puede usar para las operaciones en proveedores de espacio de nombres NS_EMAIL.

Nota

El encabezado winsock2.h define WSAQUERYSET2 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 neutral de codificación con código que no es neutral de codificación puede dar lugar a errores de coincidencia que dan lugar a errores de compilación o 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 Vista [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows Server 2008 [solo aplicaciones de escritorio]
Encabezado winsock2.h

Consulte también

WSAEnumNameSpaceProviders

WSAEnumNameSpaceProvidersEx

WSASetService