Freigeben über


WSAQUERYSETW-Struktur (winsock2.h)

Die WSAQUERYSET--Struktur stellt relevante Informationen zu einem bestimmten Dienst bereit, einschließlich Dienstklassen-ID, Dienstname, anwendbarer Namespacebezeichner und Protokollinformationen sowie eine Gruppe von Transportadressen, an denen der Dienst lauscht.

Syntax

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;

Angehörige

dwSize

Typ: DWORD-

Die Größe der WSAQUERYSET- Struktur in Byte. Dieses Element wird als Versionsverwaltungsmechanismus verwendet, da sich die Größe des WSAQUERYSET Struktur in späteren Versionen von Windows geändert hat.

lpszServiceInstanceName

Typ: LPTSTR-

Ein Zeiger auf eine optionale NULL-beendete Zeichenfolge, die den Dienstnamen enthält. Die Semantik für die Verwendung von Wildcards innerhalb der Zeichenfolge ist nicht definiert, kann aber von bestimmten Namespaceanbietern unterstützt werden.

lpServiceClassId

Typ: LPGUID-

Die GUID, die der Dienstklasse entspricht. Dieses Element muss festgelegt werden.

lpVersion

Typ: LPWSAVERSION

Ein Zeiger auf eine optionale gewünschte Versionsnummer des Namespaceanbieters. Dieses Mitglied stellt die Versionsvergleichsemantik bereit (d. a. die angeforderte Version muss exakt übereinstimmen, oder die Version darf nicht kleiner als der angegebene Wert sein).

lpszComment

Typ: LPTSTR-

Dieses Element wird für Abfragen ignoriert.

dwNameSpace

Typ: DWORD-

Ein Namespacebezeichner, der bestimmt, welche Namespaceanbieter abgefragt werden. Das Übergeben eines bestimmten Namespacebezeichners führt nur zu Namespaceanbietern, die den angegebenen Namespace unterstützen, der abgefragt wird. Wenn Sie NS_ALL angeben, werden alle installierten und aktiven Namespaceanbieter abgefragt.

Optionen für das dwNameSpace Mitglied sind in der Winsock2.h enthaltene Datei aufgeführt. Mehrere neue Namespaceanbieter sind in Windows Vista und höher enthalten. Andere Namespaceanbieter können installiert werden, sodass die folgenden möglichen Werte nur die allgemein verfügbaren sind. Viele andere Werte sind möglich.

Wert Bedeutung
NS_ALL
Alle installierten und aktiven Namespaces.
NS_BTH
Der Bluetooth-Namespace. Dieser Namespacebezeichner wird unter Windows Vista und höher unterstützt.
NS_DNS
Der DNS-Namespace (Domain Name System).
NS_EMAIL
Der E-Mail-Namespace. Dieser Namespacebezeichner wird unter Windows Vista und höher unterstützt.
NS_NLA
Der NLA-Namespace (Network Location Awareness). Dieser Namespacebezeichner wird unter Windows XP und höher unterstützt.
NS_PNRPNAME
Der Peer-zu-Peer-Namensraum für einen bestimmten Peernamen. Dieser Namespacebezeichner wird unter Windows Vista und höher unterstützt.
NS_PNRPCLOUD
Der Peer-to-Peer-Namensraum für eine Sammlung von Peernamen. Dieser Namespacebezeichner wird unter Windows Vista und höher unterstützt.

lpNSProviderId

Typ: LPGUID-

Ein Zeiger auf eine optionale GUID eines bestimmten Namespaceanbieters, der abgefragt werden soll, wenn mehrere Namespaceanbieter unter einem einzelnen Namespace wie NS_DNSregistriert sind. Das Übergeben der GUID für einen bestimmten Namespaceanbieter führt nur dazu, dass der angegebene Namespaceanbieter abgefragt wird. Die funktionen WSAEnumNameSpaceProviders und WSAEnumNameSpaceProvidersEx können aufgerufen werden, um die GUID für einen Namespaceanbieter abzurufen.

lpszContext

Typ: LPTSTR-

Ein Zeiger auf einen optionalen Ausgangspunkt der Abfrage in einem hierarchischen Namespace.

dwNumberOfProtocols

Typ: DWORD-

Die Größe des Protokolleinschränkungsarrays in Bytes. Dieses Element kann null sein.

lpafpProtocols

Typ: LPAFPROTOCOLS

Ein Zeiger auf ein optionales Array von AFPROTOCOLS- Strukturen. Nur Dienste, die diese Protokolle verwenden, werden zurückgegeben.

lpszQueryString

Typ: LPTSTR-

Ein Zeiger auf eine optionale NULL-beendete Abfragezeichenfolge. Einige Namespaces, z. B. Whois++, unterstützen erweiterte SQL-ähnliche Abfragen, die in einer einfachen Textzeichenfolge enthalten sind. Dieser Parameter wird verwendet, um diese Zeichenfolge anzugeben.

dwNumberOfCsAddrs

Typ: DWORD-

Dieses Element wird für Abfragen ignoriert.

lpcsaBuffer

Typ: LPCSADDR_INFO

Dieses Element wird für Abfragen ignoriert.

dwOutputFlags

Typ: DWORD-

Dieses Element wird für Abfragen ignoriert.

lpBlob

Typ: LPBLOB-

Ein optionaler Zeiger auf Daten, die zum Abfragen oder Festlegen von anbieterspezifischen Namespaceinformationen verwendet werden. Das Format dieser Informationen ist spezifisch für den Namespaceanbieter.

Bemerkungen

Die WSAQUERYSET--Struktur wird als Teil der ursprünglichen Namespaceanbieterversion 1-Architektur verwendet, die unter Windows 95 und höher verfügbar ist. Eine neuere Version 2 der Namespacearchitektur ist unter Windows Vista und höher verfügbar.

In den meisten Fällen sollten Anwendungen, die nur an einem bestimmten Transportprotokoll interessiert sind, ihre Abfrage nach Adressfamilie und Protokoll statt nach Namespace einschränken. Dies würde es einer Anwendung ermöglichen, die einen TCP/IP-Dienst suchen muss, z. B. die Abfrage aller verfügbaren Namespaces, z. B. die lokale Hostdatei, DNS und NIS, verarbeitet zu lassen.

Anmerkung

Der winsock2.h-Header definiert WSAQUERYSET als Alias, der die ANSI- oder Unicode-Version dieser Funktion basierend auf der Definition der UNICODE-Präprozessorkonstante automatisch auswählt. Das Mischen der Verwendung des codierungsneutralen Alias mit Code, der nicht codierungsneutral ist, kann zu Nichtübereinstimmungen führen, die zu Kompilierungs- oder Laufzeitfehlern führen. Weitere Informationen finden Sie unter Konventionen für Funktionsprototypen.

Anforderungen

Anforderung Wert
mindestens unterstützte Client- Windows 2000 Professional [nur Desktop-Apps]
mindestens unterstützte Server- Windows 2000 Server [nur Desktop-Apps]
Header- winsock2.h

Siehe auch

Bluetooth und WSAQUERYSET für Geräteanfrage

Bluetooth- und WSAQUERYSET-

Bluetooth und WSAQUERYSET für set Service-

WSAEnumNameSpaceProviders

WSAEnumNameSpaceProvidersEx

WSALookupServiceBegin

WSALookupServiceNext-

WSAQUERYSET2

WSASetService-