WSAQUERYSET2W结构 (winsock2.h)

WSAQUERYSET2 结构提供有关给定服务的相关信息,包括服务类 ID、服务名称、适用的命名空间标识符和协议信息,以及服务侦听的一组传输地址。

语法

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;

成员

dwSize

类型:DWORD

WSAQUERYSET2 结构的大小(以字节为单位)。 此成员用作版本控制机制,因为 WSAQUERYSET2 结构的大小可能会在更高版本的 Windows 上更改。

lpszServiceInstanceName

类型:LPTSTR

指向可选 NULL包含服务名称的终止字符串的指针。 未定义在字符串中使用通配符的语义,但某些命名空间提供程序可以支持。

lpVersion

类型:LPWSAVERSION

指向命名空间提供程序的可选所需版本号的指针。 此成员提供版本比较语义(即请求的版本必须完全匹配,或者版本必须不小于提供的值)。

lpszComment

类型:LPTSTR

对于查询,将忽略此成员。

dwNameSpace

类型:DWORD

一个命名空间标识符,用于确定要查询哪些命名空间提供程序。 传递特定命名空间标识符将只生成支持所查询的指定命名空间的命名空间提供程序。 指定 NS_ALL 将导致查询所有已安装的命名空间提供程序和活动命名空间提供程序。

dwNameSpace 成员的选项列在 Winsock2.h 包含文件中。 Windows Vista 及更高版本随附了多个新的命名空间提供程序。 可以安装其他命名空间提供程序,因此,以下可能的值只是那些常用的值。 其他许多值是可能的。

价值 意义
NS_ALL
所有已安装和活动的命名空间。
NS_BTH
蓝牙命名空间。 Windows Vista 及更高版本支持此命名空间标识符。
NS_DNS
域名系统 (DNS) 命名空间。
NS_EMAIL
电子邮件命名空间。 Windows Vista 及更高版本支持此命名空间标识符。
NS_NLA
网络位置感知 (NLA) 命名空间。 Windows XP 及更高版本支持此命名空间标识符。
NS_PNRPNAME
特定对等名称的对等名称空间。 Windows Vista 及更高版本支持此命名空间标识符。
NS_PNRPCLOUD
对等名称集合的对等名称空间。 Windows Vista 及更高版本支持此命名空间标识符。

lpNSProviderId

类型:LPGUID

指向特定命名空间提供程序的可选 GUID 的指针,用于在单个命名空间(如 NS_DNS)下注册多个命名空间提供程序。 传递特定命名空间提供程序的 GUID 只会查询指定的命名空间提供程序。 可以调用 WSAEnumNameSpaceProvidersWSAEnumNameSpaceProvidersEx 函数来检索命名空间提供程序的 GUID。

lpszContext

类型:LPTSTR

指向分层命名空间中查询的可选起点的指针。

dwNumberOfProtocols

类型:DWORD

协议约束数组的大小(以字节为单位)。 此成员可以为零。

lpafpProtocols

类型:LPAFPROTOCOLS

指向 AFPROTOCOLS 结构的可选数组的指针。 仅返回使用这些协议的服务。

lpszQueryString

类型:LPTSTR

指向可选 NULL-terminated 查询字符串的指针。 某些命名空间(如 Whois++)支持简单文本字符串中包含的扩充的类似 SQL 的查询。 此参数用于指定该字符串。

dwNumberOfCsAddrs

类型:DWORD

对于查询,将忽略此成员。

lpcsaBuffer

类型:LPCSADDR_INFO

对于查询,将忽略此成员。

dwOutputFlags

类型:DWORD

对于查询,将忽略此成员。

lpBlob

类型:LPBLOB

指向用于查询或设置提供程序特定命名空间信息的数据的可选指针。 此信息的格式特定于命名空间提供程序。

言论

WSAQUERYSET2 结构用作 Windows Vista 及更高版本上提供的命名空间服务提供程序版本 2 (NSPv2) 体系结构的一部分。

在 Windows Vista 和 Windows Server 2008 上,WSAQUERYSET2 结构只能用于NS_EMAIL命名空间提供程序上的操作。

注意

winsock2.h 标头将WSAQUERYSET2定义为一个别名,该别名根据 UNICODE 预处理器常量的定义自动选择此函数的 ANSI 或 Unicode 版本。 将中性编码别名与不中性编码的代码混合使用可能会导致编译或运行时错误不匹配。 有关详细信息,请参阅函数原型的 约定。

要求

要求 价值
最低支持的客户端 Windows Vista [仅限桌面应用]
支持的最低服务器 Windows Server 2008 [仅限桌面应用]
标头 winsock2.h

另请参阅

WSAEnumNameSpaceProviders

WSAEnumNameSpaceProvidersEx

WSASetService