Partager via


Bluetooth et WSAQUERYSET pour Set Service

Bluetooth utilise la structureWSAQUERYSETpour 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 de membre dans la structure WSAQUERYSET.

Membre Valeur requise (entrée) Sortie
dwSize Doit être défini sur taille de(WSAQUERYSET). Utilisé comme mécanisme de contrôle de version. Aucun.
dwOutputFlags Non utilisé. Aucun.
lpszServiceInstanceName Facultatif, mais recommandé. Utilisé pour construire l’attribut Bluetooth ServiceName. 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 une application unique pour les applications qui ne sont pas basées sur des profils. Utilisé pour construire une séquence d’attributs ServiceClassIdList avec ce membre uniquement. Aucun.
lpVersion Non utilisé. Aucun.
lpszComment Optionnel. Utilisé pour construire l’attribut Bluetooth ServiceDescription. 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 1. Aucun.
lpcsaBuffer Obligatoire si lpBlob n’a pas été rempli avec un flux SDP brut. Pointeur vers une structure CSADDR_INFO avec son LocalAddr.lpSockaddr membre pointant vers le SOCKADDR_BTH où le serveur écoute les connexions. La fonction getsockname peut être utilisée pour retourner la structure SOCKADDR_BTH pour un socket lié. Les informations contenues dans le membre lpcsaBuffer sont utilisées par le système pour construire l’attribut SDP ProtocoleDescriptorList Bluetooth. Le protocole et le port fournis dans lpcsaBuffer doivent être uniques (pas précédemment inscrits) 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 pointant 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 fonctionWSASetService, tous les autres membres de la structure WSAQUERYSET, sauf 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 facultatives BLOB et BTH_SET_SERVICE ont été fournies en entrée, ainsi que les valeurs ULONG et HANDLE qui doivent être signalées par BTH_SET_SERVICE, la version est mise à jour pour contenir la valeur BTH_SDP_VERSION pour le fournisseur Bluetooth Windows Sockets, et le handle est fourni, ce qui est nécessaire pour supprimer l’enregistrement par la suite.

 

Note

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

 

Bluetooth et WSAQUERYSET pour l’enquête sur les appareils

Bluetooth et WSAQUERYSET pour l' d’enquête sur les services

Bluetooth et BLOB

Bluetooth et WSASetService

BLOB

BTH_SET_SERVICE

CSADDR_INFO

getsockname

SOCKADDR_BTH

WSAQUERYSET

windows Sockets