Freigeben über


Bluetooth und WSAQUERYSET für Set Service

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

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.

Mitglied Erforderlicher Wert (Eingabe) Ausgabe
dwSize- Muss auf Größefestgelegt werden (WSAQUERYSET). Wird als Versionsverwaltungsmechanismus verwendet. Nichts.
dwOutputFlags Wird nicht verwendet. Nichts.
lpszServiceInstanceName Optional, aber empfohlen. Wird verwendet, um das Bluetooth ServiceName-Attribut zu erstellen. Nichts.
lpServiceClassId- Erforderlich. GUID, die der Dienstklasse entspricht. Dieser Wert sollte einer GUID aus dem Dokument "Bluetooth Assigned Numbers" für bekannte Profile oder eine eindeutige anwendungsgenerierte UUID für Anwendungen entsprechen, die nicht profilbasiert sind. Wird verwendet, um eine ServiceClassIdList-Attributsequenz mit dieser als einziges Element zu erstellen. Nichts.
lpVersion- Wird nicht verwendet. Nichts.
lpszComment Wahlfrei. Wird verwendet, um das Bluetooth ServiceDescription-Attribut zu erstellen. Nichts.
dwNameSpace- Namespace, in dem der Dienst eingeschränkt werden soll. Muss NS_BTH sein. Nichts.
lpNSProviderId- Nicht erforderlich. Nichts.
lpszContext Wird nicht verwendet. Nichts.
dwNumberOfProtocols Wird nicht verwendet. Nichts.
lpafpProtocols Wird nicht verwendet. Nichts.
lpszQueryString- Wird nicht verwendet. Nichts.
dwNumberOfCsAddrs Die Anzahl der zu registrierenden Adressen. Muss 1 sein. Nichts.
lpcsaBuffer Erforderlich, wenn lpBlob nicht mit einem unformatierten SDP-Stream aufgefüllt wurde. Zeiger auf eine CSADDR_INFO-Struktur mit der LocalAddr.lpSockaddr Member, der auf die SOCKADDR_BTH zeigt, in der der Server auf Verbindungen lauscht. Die ruftockname 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 in lpcsaBuffer- bereitgestellte Protokoll und Port müssen eindeutig (zuvor nicht registriert) sein und zum Indizieren des Datensatzes für nachfolgende Zu löschende Aufrufe verwendet werden. Wird verwendet, um das Bluetooth ProtocolDescriptorList-Attribut des SDP-Eintrags zu erstellen. Nichts.
lpBlob Wahlfrei. Zeigen Sie auf eine BLOB- Struktur, die auf eine BTH_SET_SERVICE Struktur verweist, sodass der Client eine Bluetooth-spezifische Struktur bereitstellen kann, die einen binären SDP-Eintrag enthält, der von der Anwendung erstellt wurde. Wenn lpBlob- der WSASetService--Funktion bereitgestellt wird, werden alle anderen Elemente der WSAQUERYSET--Struktur außer dwSize und dwNameSpace- ignoriert. Weitere Informationen finden Sie unter Bluetooth- und BLOB-. Das Übermitteln eines binären SDP-Eintrags ist in vielen Fällen erforderlich, da eine begrenzte Anzahl von SDP-Attributen aus der WSAQUERYSET--Struktur konvertiert werden kann, und Zeichenfolgen werden nur in UTF-8-Standardcodierung konvertiert. Wenn die optionalen BLOB- und BTH_SET_SERVICE Strukturen für die Eingabe bereitgestellt wurden, zusammen mit den ULONG-Versions- und HANDLE-Werten, auf die durch BTH_SET_SERVICEverwiesen 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.

 

Anmerkung

Um einen Dienst zu entfernen, sind die einzigen erforderlichen Member in der BTH_SET_SERVICE-Struktur die pSdpVersion und pRecordHandle Member.

 

Bluetooth und WSAQUERYSET für Geräteanfrage

Bluetooth- und WSAQUERYSET-

Bluetooth- und BLOB-

Bluetooth- und WSASetService-

BLOB-

BTH_SET_SERVICE

CSADDR_INFO

getsockname

SOCKADDR_BTH

WSAQUERYSET-

Windows Sockets