Share via


Bluetooth et WSAQUERYSET pour Set Service

Bluetooth utilise la structure WSAQUERYSET pour faciliter la découverte d’appareils et de services dans l’espace de noms Bluetooth, NS_BTH.

La fonction WSASetService utilise la structure WSAQUERYSET pour inscrire ou supprimer des instances de service dans l’espace de noms Bluetooth. Le tableau suivant répertorie les valeurs des membres dans la structure WSAQUERYSET .

Membre Valeur requise (entrée) Sortie
dwSize Doit être défini sur sizeof(WSAQUERYSET). Utilisé comme mécanisme de contrôle de version. Aucun.
dwOutputFlags Non utilisé. Aucun.
lpszServiceInstanceName Cette étape est facultative mais recommandée. Utilisé pour construire l’attribut ServiceName Bluetooth. Aucun.
lpServiceClassId Obligatoire. GUID correspondant à la classe de service. Cette valeur doit correspondre à un GUID du document Numéros attribués Bluetooth pour les profils connus, ou à un UUID généré par l’application unique pour les applications qui ne sont pas basées sur un profil. Utilisé pour construire une séquence d’attributs ServiceClassIdList avec ce seul membre. Aucun.
lpVersion Non utilisé. Aucun.
lpszComment Optionnel. Utilisé pour construire l’attribut ServiceDescription Bluetooth. Aucun.
dwNameSpace Espace de noms dans lequel limiter le service. Doit être NS_BTH. Aucun.
lpNSProviderId Non obligatoire. Aucun.
lpszContext Non utilisé. Aucun.
dwNumberOfProtocols Non utilisé. Aucun.
lpafpProtocols Non utilisé. Aucun.
lpszQueryString Non utilisé. Aucun.
dwNumberOfCsAddrs Nombre d’adresses à inscrire. Doit être égal à 1. Aucun.
lpcsaBuffer Obligatoire si lpBlob n’a pas été rempli avec un flux SDP brut. Pointeur vers une structure CSADDR_INFO avec son membre LocalAddr.lpSockaddr pointant vers le SOCKADDR_BTH où le serveur écoute les connexions. La fonction getsockname peut être utilisée pour renvoyer la structure SOCKADDR_BTH d’un socket lié. Les informations du membre lpcsaBuffer sont utilisées par le système pour construire l’attribut SDP Bluetooth ProtocolDescriptorList. Le protocole et le port fournis dans lpcsaBuffer doivent être uniques (non inscrits précédemment) et sont utilisés pour indexer l’enregistrement pour les appels suivants à supprimer. Utilisé pour construire l’attribut Bluetooth ProtocolDescriptorList de l’enregistrement SDP. Aucun.
lpBlob Optionnel. Pointeur vers une structure BLOB qui pointe vers une structure BTH_SET_SERVICE , ce qui permet au client de fournir une structure spécifique à Bluetooth contenant un enregistrement SDP binaire construit par l’application. Si lpBlob est fourni à la fonction WSASetService , tous les autres membres de la structure WSAQUERYSET à l’exception de dwSize et dwNameSpace sont ignorés. Pour plus d’informations, consultez Bluetooth et BLOB . L’envoi d’un enregistrement SDP binaire est nécessaire dans de nombreux cas, car un nombre limité d’attributs SDP peut être converti à partir de la structure WSAQUERYSET , et les chaînes sont converties uniquement en encodage UTF-8 du langage par défaut. Si les structures d’objet BLOB et d’BTH_SET_SERVICE facultatives ont été fournies en entrée, ainsi que les valeurs de version ULONG et HANDLE qui doivent être pointées par BTH_SET_SERVICE, la version est mise à jour pour contenir la valeur BTH_SDP_VERSION pour le fournisseur de sockets Windows Bluetooth, et le handle est fourni, ce qui est nécessaire pour supprimer l’enregistrement par la suite.

 

Notes

Pour supprimer un service, les seuls membres requis dans la structure BTH_SET_SERVICE sont les membres pSdpVersion et pRecordHandle .

 

Bluetooth et WSAQUERYSET pour la demande d’appareil

Bluetooth et WSAQUERYSET pour la demande de service

Bluetooth et BLOB

Bluetooth et WSASetService

BLOB

BTH_SET_SERVICE

CSADDR_INFO

getsockname

SOCKADDR_BTH

WSAQUERYSET

Windows Sockets