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