Estrutura WSAQUERYSETW (winsock2.h)

A estrutura WSAQUERYSET fornece informações relevantes sobre um determinado serviço, incluindo ID da classe de serviço, nome do serviço, identificador de namespace aplicável e informações de protocolo, bem como um conjunto de endereços de transporte no qual o serviço escuta.

Sintaxe

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;

Membros

dwSize

Tipo: DWORD

O tamanho, em bytes, da estrutura WSAQUERYSET . Esse membro é usado como um mecanismo de controle de versão, pois o tamanho da estrutura WSAQUERYSET foi alterado em versões posteriores do Windows.

lpszServiceInstanceName

Tipo: LPTSTR

Um ponteiro para uma cadeia de caracteres terminada em NULL opcional que contém o nome do serviço. A semântica para usar curingas dentro da cadeia de caracteres não é definida, mas pode ser compatível com determinados provedores de namespace.

lpServiceClassId

Tipo: LPGUID

O GUID correspondente à classe de serviço. Este membro deve ser definido.

lpVersion

Tipo: LPWSAVERSION

Um ponteiro para um número de versão desejado opcional do provedor de namespace. Esse membro fornece semântica de comparação de versão (ou seja, a versão solicitada deve corresponder exatamente ou a versão não deve ser menor que o valor fornecido).

lpszComment

Tipo: LPTSTR

Esse membro é ignorado para consultas.

dwNameSpace

Tipo: DWORD

Um identificador de namespace que determina quais provedores de namespace são consultados. Passar um identificador de namespace específico resultará apenas em provedores de namespace que dão suporte ao namespace especificado que está sendo consultado. Especificar NS_ALL resultará na consulta de todos os provedores de namespace instalados e ativos.

As opções para o membro dwNameSpace estão listadas no arquivo de inclusão Winsock2.h . Vários novos provedores de namespace estão incluídos no Windows Vista e posterior. Outros provedores de namespace podem ser instalados, portanto, os valores possíveis a seguir são apenas aqueles comumente disponíveis. Muitos outros valores são possíveis.

Valor Significado
NS_ALL
Todos os namespaces instalados e ativos.
NS_BTH
O namespace Bluetooth. Esse identificador de namespace tem suporte no Windows Vista e posterior.
NS_DNS
O namespace do DNS (sistema de nomes de domínio).
NS_EMAIL
O namespace de email. Esse identificador de namespace tem suporte no Windows Vista e posterior.
NS_NLA
O namespace NLA (reconhecimento de local de rede). Esse identificador de namespace tem suporte no Windows XP e posterior.
NS_PNRPNAME
O espaço de nome ponto a ponto para um nome de par específico. Esse identificador de namespace tem suporte no Windows Vista e posterior.
NS_PNRPCLOUD
O espaço de nome ponto a ponto para uma coleção de nomes de pares. Esse identificador de namespace tem suporte no Windows Vista e posterior.

lpNSProviderId

Tipo: LPGUID

Um ponteiro para um GUID opcional de um provedor de namespace específico para consultar no caso em que vários provedores de namespace são registrados em um único namespace, como NS_DNS. Passar o GUID para um provedor de namespace específico resultará apenas no provedor de namespace especificado sendo consultado. As funções WSAEnumNameSpaceProviders e WSAEnumNameSpaceProvidersEx podem ser chamadas para recuperar o GUID de um provedor de namespace.

lpszContext

Tipo: LPTSTR

Um ponteiro para um ponto de partida opcional da consulta em um namespace hierárquico.

dwNumberOfProtocols

Tipo: DWORD

O tamanho, em bytes, da matriz de restrição de protocolo. Esse membro pode ser zero.

lpafpProtocols

Tipo: LPAFPROTOCOLS

Um ponteiro para uma matriz opcional de estruturas AFPROTOCOLS . Somente os serviços que utilizam esses protocolos serão retornados.

lpszQueryString

Tipo: LPTSTR

Um ponteiro para uma cadeia de caracteres de consulta terminada em NULL opcional. Alguns namespaces, como Whois++, dão suporte a consultas enriquecidas semelhantes a SQL contidas em uma cadeia de caracteres de texto simples. Esse parâmetro é usado para especificar essa cadeia de caracteres.

dwNumberOfCsAddrs

Tipo: DWORD

Esse membro é ignorado para consultas.

lpcsaBuffer

Tipo: LPCSADDR_INFO

Esse membro é ignorado para consultas.

dwOutputFlags

Tipo: DWORD

Esse membro é ignorado para consultas.

lpBlob

Tipo: LPBLOB

Um ponteiro opcional para dados usados para consultar ou definir informações de namespace específicas do provedor. O formato dessas informações é específico para o provedor de namespace.

Comentários

A estrutura WSAQUERYSET é usada como parte da arquitetura original do provedor de namespace versão 1 disponível no Windows 95 e posterior. Uma versão 2 mais recente da arquitetura de namespace está disponível no Windows Vista e posterior.

Na maioria dos casos, os aplicativos interessados apenas em um protocolo de transporte específico devem restringir sua consulta por família de endereços e protocolo em vez de por namespace. Isso permitiria que um aplicativo que precisa localizar um serviço TCP/IP, por exemplo, tivesse sua consulta processada por todos os namespaces disponíveis, como o arquivo de hosts local, o DNS e o NIS.

Observação

O cabeçalho winsock2.h define WSAQUERYSET como um alias que seleciona automaticamente a versão ANSI ou Unicode dessa função com base na definição da constante de pré-processador UNICODE. Misturar o uso do alias neutro de codificação com código que não seja neutro em codificação pode levar a incompatibilidades que resultam em erros de compilação ou de runtime. Para obter mais informações, consulte Convenções para protótipos de função.

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows 2000 Professional [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows 2000 Server [somente aplicativos da área de trabalho]
Cabeçalho winsock2.h

Confira também

Bluetooth e WSAQUERYSET para consulta de dispositivo

Bluetooth e WSAQUERYSET para Consulta de Serviço

Bluetooth e WSAQUERYSET para Definir Serviço

WSAEnumNameSpaceProviders

WSAEnumNameSpaceProvidersEx

Wsalookupservicebegin

Wsalookupservicenext

WSAQUERYSET2

Wsasetservice