Bluetooth et WSAQUERYSET pour la recherche de Service

Bluetooth utilise la structure WSAQUERYSET , avec différentes fonctions, pour faciliter la découverte des appareils et des services dans l’espace de noms Bluetooth, NS _ BTH.

Les fonctions WSALookupServiceBegin et WSALookupServiceNext utilisent la structure WSAQUERYSET pour obtenir des données sur le processus de demande de service. Le tableau suivant décrit comment définir les valeurs de membre dans la structure WSAQUERYSET à cet effet.

Membre Entrée dans WSALookupServiceBegin Valeur retournée par WSALookupServiceNext
dwSize nul Doit être défini sur sizeof(WSAQUERYSET). sizeof(WSAQUERYSET) retourné par System.
dwOutputFlags Non utilisé. Non utilisé.
lpszServiceInstanceName Non utilisé. nom complet du service, converti en une chaîne encodée en UTF-8 à partir de l’encodage de langue par défaut de l’attribut SDP Bluetooth ServiceName. Retourné si LUP_RETURN_NAME est spécifié.
lpServiceClassId Obligatoire. identificateur unique Bluetooth unique le plus spécifique pour les services pour lesquels la recherche est effectuée. Par exemple, si cette valeur est définie sur l’UUID du protocole L2CAP, elle retourne tous les services à l’aide du protocole L2CAP sur l’appareil cible. S’il est défini sur l’UUID d’un service spécifique, il ne retourne que les instances de ce service. Non utilisé.
lpVersion Non utilisé. Non utilisé.
lpszComment Non utilisé. Description du service, convertie en chaîne encodée en UTF-8 à partir de l’encodage de langue par défaut de l’attribut SDP Bluetooth ServiceDescription. Retourné si LUP_RETURN_COMMENT est spécifié.
dwNameSpace Doit être NS_BTH. Retourne NS_BTH.
lpNSProviderId Non utilisé. Non utilisé.
lpszContext Obligatoire. Bluetooth adresse d’appareil avec laquelle établir une connexion SDP et interroger les services. Cette valeur doit être une chaîne qui a été convertie à l’aide de l’appel de fonction WSAAddressToString . si l’adresse de l’appareil Bluetooth local est fournie, la base de données SDP locale est recherchée. Non utilisé.
dwNumberOfProtocols Non utilisé. Non utilisé.
lpafpProtocols Non utilisé. Non utilisé.
lpszQueryString Non utilisé. Non utilisé.
dwNumberOfCsAddrs Non utilisé. Indique le nombre d’éléments dans le tableau de structures de CSADDR_INFO .
lpcsaBuffer Non utilisé. pointeur vers une structure CSADDR_INFO dont le membre LocalAddr. lpSockaddr pointe vers une SOCKADDR_BTH qui contient l’adresse connectable complète du service distant, convertie à partir de la première entrée de l’attribut SDP Bluetooth ProtocolDescriptorList. Retourné si LUP_RETURN_ADDR est spécifié.
lpBlob facultatif. Pointeur vers une structure BTH_QUERY_SERVICE qui contient des paramètres avancés pour limiter les résultats de la recherche. S’il est fourni, lpServiceClassId est ignoré et les requêtes mises en cache échouent.
  • Si une recherche de service est effectuée : pointeur vers une structure BLOB qui retourne les handles de service. (BLOB. cbSize)/sizeof(ULONG) calcule le nombre de handles. BLOB. pBlobData est un tableau de valeurs ulong représentant les handles de service.
  • Si une recherche d’attribut ou de serviceAttribute est effectuée : pointeur vers une structure BLOB qui retourne l’enregistrement SDP binaire. BLOB. cbSize est la taille de l’enregistrement SDP binaire. BLOB. pBlobData pointe vers l’enregistrement lui-même. L’enregistrement SDP binaire est nécessaire dans de nombreux cas, car seul un nombre limité d’attributs SDP peuvent être convertis dans la structure WSAQUERYSET , et seules les chaînes UTF-8 encodées par défaut sont converties. les fonctions pour faciliter l’analyse de l’enregistrement SDP binaire sont fournies dans la section référence de Bluetooth .
  • Retourné si LUP_RETURN_BLOB est spécifié.

Bluetooth et WSAQUERYSET pour Set Service

Bluetooth et WSAQUERYSET pour la consultation des appareils

Bluetooth et objet BLOB

Bluetooth et WSALookupServiceBegin

Bluetooth et WSALookupServiceNext

Bluetooth Faire

BLOB

_service de requête BTH _

_informations CSADDR

SOCKADDR _ BTH

WSAAddressToString

WSAQUERYSET

Windows Sockets