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 .
Rubriques connexes