Compartilhar via


Estrutura WSAQUERYSETW (winsock2.h)

A estrutura de 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 nos quais 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, uma vez que o tamanho da estrutura de WSAQUERYSET foi alterado em versões posteriores do Windows.

lpszServiceInstanceName

Tipo: LPTSTR

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

lpServiceClassId

Tipo:

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á em todos os provedores de namespace instalados e ativos sendo consultados.

As opções para o membro dwNameSpace estão listadas no arquivo de Winsock2.h. Vários novos provedores de namespace são incluídos com o 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 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:

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 de 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 por NULL opcional. Alguns namespaces, como Whois++, dão suporte a consultas enriquecidas semelhantes a SQL que estão 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.

Observações

A estrutura de 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 do 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.

Nota

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 do pré-processador UNICODE. A combinação do uso do alias neutro de codificação com código que não é neutro em codificação pode levar a incompatibilidades que resultam em erros de compilação ou de runtime. Para obter mais informações, consulte Conventions for Function Prototypes.

Requisitos

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

Consulte também

Bluetooth e WSAQUERYSET para de Consulta de Dispositivo

Bluetooth e WSAQUERYSET para de Consulta de Serviço

Bluetooth e WSAQUERYSET para definir de serviço

WSAEnumNameSpaceProviders

WSAEnumNameSpaceProvidersEx

WSALookupServiceBegin

WSALookupServiceNext

WSAQUERYSET2

WSASetService