estrutura WSAQUERYSET2W (winsock2.h)

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

Sintaxe

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;

Membros

dwSize

Tipo: DWORD

O tamanho, em bytes, da estrutura WSAQUERYSET2 . Esse membro é usado como um mecanismo de controle de versão, pois o tamanho da estrutura de WSAQUERYSET2 pode ser 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.

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 do 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 são incluídos no Windows Vista e posteriores. 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 WSAQUERYSET2 é usada como parte da arquitetura do provedor de serviços de namespace versão 2 (NSPv2) disponível no Windows Vista e posterior.

No Windows Vista e no Windows Server 2008, a estrutura WSAQUERYSET2 só pode ser usada para operações em provedores de namespace NS_EMAIL.

Observação

O cabeçalho winsock2.h define WSAQUERYSET2 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 Vista [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows Server 2008 [somente aplicativos da área de trabalho]
Cabeçalho winsock2.h

Confira também

WSAEnumNameSpaceProviders

WSAEnumNameSpaceProvidersEx

Wsasetservice