Partager via


Bluetooth et WSAQUERYSET pour la demande de service

Bluetooth utilise la structure WSAQUERYSET , avec différentes fonctions, pour faciliter la découverte d’appareils et de 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 membres dans la structure WSAQUERYSET à cet effet.

Membre Entrée dans WSALookupServiceBegin Valeur renvoyée par WSALookupServiceNext
dwSize Doit être défini sur sizeof(WSAQUERYSET). sizeof(WSAQUERYSET) retourné par le système.
dwOutputFlags Non utilisé. Non utilisé.
lpszServiceInstanceName Non utilisé. Nom d’affichage du service, converti en tant que chaîne encodée UTF-8 à partir de l’encodage de langue par défaut de l’attribut SDP ServiceName Bluetooth. Retourné si LUP_RETURN_NAME est spécifié.
lpServiceClassId Obligatoire. UUID 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 retourne uniquement les instances de ce service. Non utilisé.
lpVersion Non utilisé. Non utilisé.
lpszComment Non utilisé. Description du service, convertie en tant que chaîne encodée UTF-8 à partir de l’encodage de langue par défaut de l’attribut SDP ServiceDescription Bluetooth. Retourné si LUP_RETURN_COMMENT est spécifié.
dwNameSpace Doit être NS_BTH. Retourne NS_BTH.
lpNSProviderId Non utilisé. Non utilisé.
lpszContext Obligatoire. Adresse de l’appareil Bluetooth avec laquelle établir une connexion SDP et rechercher des services. Cette valeur doit être une chaîne 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 CSADDR_INFO .
lpcsaBuffer Non utilisé. Pointeur vers une structure CSADDR_INFO dont le membre LocalAddr.lpSockaddr pointe vers un 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 Optionnel. 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 ne réussissent pas.
  • 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 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 en structure WSAQUERYSET , et seules les chaînes UTF-8 codées par défaut sont converties. Les fonctions permettant d’analyser l’enregistrement SDP binaire sont fournies dans la section Référence Bluetooth .
  • Retourné si LUP_RETURN_BLOB est spécifié.

 

Bluetooth et WSAQUERYSET pour Set Service

Bluetooth et WSAQUERYSET pour la demande d’appareil

Bluetooth et BLOB

Bluetooth et WSALookupServiceBegin

Bluetooth et WSALookupServiceNext

Référence Bluetooth

BLOB

BTH_QUERY_SERVICE

CSADDR_INFO

SOCKADDR_BTH

WSAAddressToString

WSAQUERYSET

Windows Sockets