Bluetooth und WSAQUERYSET für Set Service

Bluetooth verwendet die WSAQUERYSET-Struktur , um die Ermittlung von Geräten und Diensten im Bluetooth-Namespace zu erleichtern, NS_BTH.

Die WSASetService-Funktion verwendet die WSAQUERYSET-Struktur , um Dienstinstanzen im Bluetooth-Namespace zu registrieren oder zu entfernen. In der folgenden Tabelle sind Memberwerte in der WSAQUERYSET-Struktur aufgeführt.

Member Erforderlicher Wert (Eingabe) Output
dwSize Muss auf sizeof(WSAQUERYSET) festgelegt werden. Wird als Versionsverwaltungsmechanismus verwendet. Keine
dwOutputFlags Wird nicht verwendet. Keine
lpszServiceInstanceName Optional, wird jedoch empfohlen. Wird zum Erstellen des Bluetooth ServiceName-Attributs verwendet. Keine
lpServiceClassId Erforderlich. GUID, die der Dienstklasse entspricht. Dieser Wert sollte einer GUID aus dem Dokument Bluetooth Assigned Numbers für bekannte Profile oder einer eindeutigen anwendungsgenerierten UUID für Anwendungen entsprechen, die nicht profilbasiert sind. Wird verwendet, um eine ServiceClassIdList-Attributsequenz mit diesem als einzigem Member zu erstellen. Keine
lpVersion Wird nicht verwendet. Keine
lpszComment Optional. Wird zum Erstellen des Bluetooth ServiceDescription-Attributs verwendet. Keine
dwNameSpace Namespace, in dem der Dienst eingeschränkt werden soll. Muss NS_BTH sein. Keine
lpNSProviderId Nicht erforderlich. Keine
lpszContext Wird nicht verwendet. Keine
dwNumberOfProtocols Wird nicht verwendet. Keine
lpafpProtocols Wird nicht verwendet. Keine
lpszQueryString Wird nicht verwendet. Keine
dwNumberOfCsAddrs Anzahl der zu registrierenden Adressen. Muss 1 sein. Keine
lpcsaBuffer Erforderlich, wenn lpBlob nicht mit einem unformatierten SDP-Stream aufgefüllt wurde. Zeiger auf eine CSADDR_INFO-Struktur , deren Member LocalAddr.lpSockaddr auf die SOCKADDR_BTH verweist, in der der Server auf Verbindungen lauscht. Die getockname-Funktion kann verwendet werden, um die SOCKADDR_BTH-Struktur für einen gebundenen Socket zurückzugeben. Informationen im lpcsaBuffer-Member werden vom System verwendet, um das Bluetooth ProtocolDescriptorList-SDP-Attribut zu erstellen. Das protokoll und der port, der in lpcsaBuffer bereitgestellt wird, müssen eindeutig (nicht zuvor registriert) sein und zum Indizieren des Datensatzes für nachfolgende Löschaufrufe verwendet werden. Wird zum Erstellen des Bluetooth ProtocolDescriptorList-Attributs des SDP-Datensatzes verwendet. Keine
lpBlob Optional. Zeiger auf eine BLOB-Struktur , die auf eine BTH_SET_SERVICE-Struktur verweist, sodass der Client eine Bluetooth-spezifische Struktur bereitstellen kann, die einen von der Anwendung erstellten binären SDP-Datensatz enthält. Wenn lpBlob für die WSASetService-Funktion bereitgestellt wird, werden alle anderen Member der WSAQUERYSET-Struktur außer dwSize und dwNameSpace ignoriert. Weitere Informationen finden Sie unter Bluetooth und BLOB . Das Übermitteln eines binären SDP-Datensatzes ist in vielen Fällen erforderlich, da eine begrenzte Anzahl von SDP-Attributen aus der WSAQUERYSET-Struktur konvertiert werden kann und Zeichenfolgen nur in die UTF-8-Standardcodierung konvertiert werden. Wenn die optionalen BLOB- und BTH_SET_SERVICE-Strukturen bei der Eingabe sowie die ULONG-Version und handle-Werte bereitgestellt wurden, auf die von BTH_SET_SERVICE verwiesen werden muss, wird die Version aktualisiert, um den BTH_SDP_VERSION-Wert für den Bluetooth-Windows-Sockets-Anbieter zu enthalten, und das Handle wird bereitgestellt, das zum anschließenden Löschen des Datensatzes erforderlich ist.

 

Hinweis

Zum Entfernen eines Diensts sind nur die pSdpVersion- und pRecordHandle-Member in der BTH_SET_SERVICE-Struktur erforderlich.

 

Bluetooth und WSAQUERYSET für Geräteabfrage

Bluetooth und WSAQUERYSET für Dienstanfrage

Bluetooth und BLOB

Bluetooth und WSASetService

BLOB

BTH_SET_SERVICE

CSADDR_INFO

getsockname

SOCKADDR_BTH

WSAQUERYSET

Windows Sockets