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.
Zugehörige Themen