Partager via


Fonction BluetoothSetLocalServiceInfo (bluetoothapis.h)

La fonction BluetoothSetLocalServiceInfo définit les informations de service local pour une radio Bluetooth spécifique.

Syntaxe

DWORD BluetoothSetLocalServiceInfo(
  [in, optional] HANDLE                             hRadioIn,
  [in]           const GUID                         *pClassGuid,
  [in]           ULONG                              ulInstance,
  [in]           const BLUETOOTH_LOCAL_SERVICE_INFO *pServiceInfoIn
);

Paramètres

[in, optional] hRadioIn

Handle du périphérique radio Bluetooth pour lequel spécifier les informations de service local. Si la valeur est NULL, BluetoothSetLocalServiceInfo recherche la première radio Bluetooth locale disponible.

[in] pClassGuid

GUID du service à exposer. Cela doit correspondre au GUID dans le fichier INF côté serveur.

[in] ulInstance

ID de instance pour le nœud d’appareil de l’ID de Plug-and-Play (PnP).

[in] pServiceInfoIn

Pointeur vers une structure BLUETOOTH_LOCAL_SERVICE_INFO qui décrit le service local à définir.

Valeur retournée

La fonction BluetoothSetLocalServiceInfo retourne les valeurs suivantes :

Code de retour Description
ERROR_NOT_FOUND
La radio Bluetooth spécifiée n’a pas été détectée.
ERROR_BAD_UNIT
Aucune radio Bluetooth n’a été détectée.
STATUS_INSUFFICIENT_RESOURCES
Les ressources disponibles n’étaient pas suffisantes pour terminer l’opération. Vous pouvez recevoir cette erreur lorsque plus de 100 objets d’appareil physique (PPO) locaux correspondent aux services Bluetooth.
STATUS_PRIVILEGE_NOT_HELD
L’appelant ne dispose pas des privilèges requis. Pour plus d’informations sur l’élévation des privilèges, consultez la section Remarques.

Remarques

BluetoothSetLocalServiceInfo est une API en mode utilisateur qui est utilisée uniquement par les développeurs de pilotes de profil pour déclencher l’installation d’un service local décrit par le GUID de service dans pClassGuid.

BluetoothSetLocalServiceInfo génère un ID d’appareil Plug-and-Play (PnP) au format « BTHENUM{ClassGuid} ». Par exemple, « BTHENUM{xxxxxxxx-xxxx-xxxx-xxxxxxxxxxxxxx} ». Les applications en mode utilisateur peuvent appeler BluetoothSetLocalServiceInfo ultérieurement avec le même GUID de service, mais avec un ID de instance différent pour créer plusieurs instances du profil côté serveur spécifié.

Pour utiliser des API Bluetooth telles que BluetoothSetLocalServiceInfo, les applications en mode utilisateur doivent être liées à BthProps.lib.

Avertissement Le processus qui appelle BluetoothSetLocalServiceInfo doit avoir le privilège SE_LOAD_DRIVER_NAME . Un processus s’exécutant dans le système ou un contexte d’administrateur peut élever ses privilèges à l’aide des fonctions Sdk LookupPrivilegeValue et AdjustTokenPrivileges . Pour plus d’informations à ce sujet, consultez Installation d’un appareil Bluetooth.
 
La structure BLUETOOTH_LOCAL_SERVICE_INFO est définie dans le fichier d’en-tête BluetoothApis.h du SDK.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Versions :_Supported dans Windows Vista et versions ultérieures.
Plateforme cible Universal
En-tête bluetoothapis.h
Bibliothèque BthProps.lib
DLL bthprops.cpl ; BluetoothAPIs.dll

Voir aussi

BLUETOOTH_LOCAL_SERVICE_INFO