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.
Rubriques connexes
-
Bluetooth et WSAQUERYSET pour l' d’enquête sur les services