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 einer Reihe von Transportadressen, auf die 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;

Member

dwSize

Art: DWORD

Die Größe der WSAQUERYSET-Struktur in Bytes. Dieser Member wird als Versionsverwaltungsmechanismus verwendet, da sich die Größe der 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. Dieser Member muss festgelegt werden.

lpVersion

Typ: LPWSAVERSION

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

lpszComment

Typ: LPTSTR

Dieser Member wird für Abfragen ignoriert.

dwNameSpace

Art: DWORD

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

Optionen für das dwNameSpace-Element sind in der Winsock2.h-Includedatei aufgeführt. In Windows Vista und höher sind mehrere neue Namespaceanbieter 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-zu-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 registriert sind, z. B. NS_DNS. Das Übergeben der GUID für einen bestimmten Namespaceanbieter führt dazu, dass nur 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

Art: DWORD

Die Größe des Protokolleinschränkungsarrays in Bytes. Dieser Member kann 0 (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 ABFRAGEzeichenfolge mit NULL-Beendigung. Einige Namespaces, z. B. Whois++, unterstützen angereicherte SQL-ähnliche Abfragen, die in einer einfachen Textzeichenfolge enthalten sind. Dieser Parameter wird verwendet, um diese Zeichenfolge anzugeben.

dwNumberOfCsAddrs

Art: DWORD

Dieser Member wird für Abfragen ignoriert.

lpcsaBuffer

Typ: LPCSADDR_INFO

Dieser Member wird für Abfragen ignoriert.

dwOutputFlags

Art: DWORD

Dieser Member wird für Abfragen ignoriert.

lpBlob

Typ: LPBLOB

Ein optionaler Zeiger auf Daten, der zum Abfragen oder Festlegen anbieterspezifischer Namespaceinformationen verwendet wird. Das Format dieser Informationen ist spezifisch für den Namespaceanbieter.

Hinweise

Die WSAQUERYSET-Struktur wird als Teil der ursprünglichen Architektur des Namespaceanbieters Version 1 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 und nicht nach Namespace einschränken. Dies würde es einer Anwendung ermöglichen, die einen TCP/IP-Dienst suchen muss, z. B. ihre Abfrage von allen verfügbaren Namespaces wie der lokalen Hostdatei, DNS und NIS verarbeiten zu lassen.

Hinweis

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
Unterstützte Mindestversion (Client) Windows 2000 Professional [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows 2000 Server [nur Desktop-Apps]
Kopfzeile winsock2.h

Weitere Informationen

Bluetooth und WSAQUERYSET für Geräteabfragen

Bluetooth und WSAQUERYSET für Dienstabfragen

Bluetooth und WSAQUERYSET für Set Service

WSAEnumNameSpaceProviders

WSAEnumNameSpaceProvidersEx

WSALookupServiceBegin

WSALookupServiceWeiter

WSAQUERYSET2

WSASetService