Compartilhar via


estrutura WSAQUERYSET2W (winsock2.h)

A estrutura WSAQUERYSET2 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 _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 um nulo opcionalcadeia de caracteres terminada 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.

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 NULLterminada. 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 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 de WSAQUERYSET2 só pode ser usada para operações em NS_EMAIL provedores de namespace.

Nota

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

Consulte também

WSAEnumNameSpaceProviders

WSAEnumNameSpaceProvidersEx

WSASetService