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