WSAQUERYSET Structure
The WSAQUERYSET structure provides relevant information about a given service, including service class ID, service name, applicable namespace identifier and protocol information, as well as a set of transport addresses at which the service listens.
Syntax
typedef struct _WSAQuerySet {
DWORD dwSize;
LPTSTR lpszServiceInstanceName;
LPGUID lpServiceClassId;
LPWSAVERSION lpVersion;
LPTSTR lpszComment;
DWORD dwNameSpace;
LPGUID lpNSProviderId;
LPTSTR lpszContext;
DWORD dwNumberOfProtocols;
LPAFPROTOCOLS lpafpProtocols;
LPTSTR lpszQueryString;
DWORD dwNumberOfCsAddrs;
LPCSADDR_INFO lpcsaBuffer;
DWORD dwOutputFlags;
LPBLOB lpBlob;
} WSAQUERYSET, *PWSAQUERYSET, *LPWSAQUERYSET;
Mitglieder
dwSize
Typ: DWORDThe size, in bytes, of the WSAQUERYSET structure. This member is used as a versioning mechanism since the size of the WSAQUERYSET structure has changed on later versions of Windows.
lpszServiceInstanceName
Typ: LPTSTRA pointer to an optional NULL-terminated string that contains service name. The semantics for using wildcards within the string are not defined, but can be supported by certain namespace providers.
lpServiceClassId
Typ: LPGUIDThe GUID corresponding to the service class. This member is required to be set.
lpVersion
Typ: LPWSAVERSIONA pointer to an optional desired version number of the namespace provider. This member provides version comparison semantics (that is, the version requested must match exactly, or version must be not less than the value supplied).
lpszComment
Typ: LPTSTRThis member is ignored for queries.
dwNameSpace
Typ: DWORDA namespace identifier that determines which namespace providers are queried. Passing a specific namespace identifier will result in only namespace providers that support the specified namespace being queried. Specifying NS_ALL will result in all installed and active namespace providers being queried.
Options for the dwNameSpace member are listed in the Winsock2.h include file. Several new namespace providers are included with Windows Vista and later. Other namespace providers can be installed, so the following possible values are only those commonly available. Many other values are possible.
Wert Bedeutung NS_ALL All installed and active namespaces.
NS_BTH The Bluetooth namespace. This namespace identifier is supported on Windows Vista and later.
NS_DNS The domain name system (DNS) namespace.
NS_EMAIL The email namespace. This namespace identifier is supported on Windows Vista and later.
NS_NLA The network location awareness (NLA) namespace. This namespace identifier is supported on Windows XP and later.
NS_PNRPNAME The peer-to-peer name space for a specific peer name. This namespace identifier is supported on Windows Vista and later.
NS_PNRPCLOUD The peer-to-peer name space for a collection of peer names. This namespace identifier is supported on Windows Vista and later.
lpNSProviderId
Typ: LPGUIDA pointer to an optional GUID of a specific namespace provider to query in the case where multiple namespace providers are registered under a single namespace such as NS_DNS. Passing the GUID for a specific namespace provider will result in only the specified namespace provider being queried. The WSAEnumNameSpaceProviders and WSAEnumNameSpaceProvidersEx functions can be called to retrieve the GUID for a namespace provider.
lpszContext
Typ: LPTSTRA pointer to an optional starting point of the query in a hierarchical namespace.
dwNumberOfProtocols
Typ: DWORDThe size, in bytes, of the protocol constraint array. This member can be zero.
lpafpProtocols
Typ: LPAFPROTOCOLSA pointer to an optional array of AFPROTOCOLS structures. Only services that utilize these protocols will be returned.
lpszQueryString
Typ: LPTSTRA pointer to an optional NULL-terminated query string. Some namespaces, such as Whois++, support enriched SQL-like queries that are contained in a simple text string. This parameter is used to specify that string.
dwNumberOfCsAddrs
Typ: DWORDThis member is ignored for queries.
lpcsaBuffer
Typ: LPCSADDR_INFOThis member is ignored for queries.
dwOutputFlags
Typ: DWORDThis member is ignored for queries.
lpBlob
Typ: LPBLOBAn optional pointer to data that is used to query or set provider-specific namespace information. The format of this information is specific to the namespace provider.
Hinweise
The WSAQUERYSET structure is used as part of the original namespace provider version 1 architecture available on Windows 95 and later. A newer version 2 of the namespace architecture is available on Windows Vista and later.
In most instances, applications interested in only a particular transport protocol should constrain their query by address family and protocol rather than by namespace. This would allow an application that needs to locate a TCP/IP service, for example, to have its query processed by all available namespaces such as the local hosts file, DNS, and NIS.
Anforderungen
Mindestens unterstützter Client |
Windows 2000 Professional |
Mindestens unterstützter Server |
Windows 2000 Server |
Header |
Winsock2.h |
Unicode- und ANSI-Namen |
WSAQUERYSETW (Unicode) and WSAQUERYSETA (ANSI) |
Siehe auch
Bluetooth and WSAQUERYSET for Device Inquiry
Bluetooth and WSAQUERYSET for Service Inquiry