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.
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