Fonction BluetoothGATTSetCharacteristicValue (bluetoothleapis.h)
La fonction BluetoothGATTSetCharacteristicValue écrit la valeur caractéristique spécifiée sur l’appareil Bluetooth.
Syntaxe
HRESULT BluetoothGATTSetCharacteristicValue(
[in] HANDLE hDevice,
[in] PBTH_LE_GATT_CHARACTERISTIC Characteristic,
[in] PBTH_LE_GATT_CHARACTERISTIC_VALUE CharacteristicValue,
[in, optional] BTH_LE_GATT_RELIABLE_WRITE_CONTEXT ReliableWriteContext,
[in] ULONG Flags
);
Paramètres
[in] hDevice
Gérez le service.
[in] Characteristic
Pointeur vers BTH_LE_GATT_CHARACTERISTIC structure contenant la caractéristique parente.
[in] CharacteristicValue
Pointeur vers BTH_LE_GATT_CHARACTERISTIC_VALUE structure contenant la valeur caractéristique.
[in, optional] ReliableWriteContext
BTH_LE_GATT_RELIABLE_WRITE_CONTEXT structure contenant le contexte décrivant l’opération d’écriture fiable retournée à partir d’un appel précédent à BluetoothGATTBegin ReliableWrite.
[in] Flags
Indicateurs pour modifier le comportement de BluetoothGATTSetCharacteristicValue :
Indicateur | Description |
---|---|
BLUETOOTH_GATT_FLAG_NONE | Le client n’a pas d’exigences GATT spécifiques (par défaut). |
BLUETOOTH_GATT_FLAG_CONNECTION_ENCRYPTED | Le client demande que les données soient transmises sur un canal chiffré. |
BLUETOOTH_GATT_FLAG_CONNECTION_AUTHENTICATED | Le client demande que les données soient transmises sur un canal authentifié. |
BLUETOOTH_GATT_FLAG_WRITE_WITHOUT_RESPONSE | Écrire sans réponse. |
BLUETOOTH_GATT_FLAG_SIGNED_WRITE | Écriture signée. Les pilotes de profil doivent utiliser avec BLUETOOTH_GATT_FLAG_WRITE_WITHOUT_RESPONSE afin de produire une écriture signée sans réponse. |
Valeur retournée
La fonction BluetoothGATTSetCharacteristicValue retourne les valeurs suivantes :
Code de retour | Description |
---|---|
|
L’opération s’est terminée avec succès. |
|
Retourné si un service parent et un handle de service sont fournis et que la hiérarchie de service ne se cumule pas sur le handle de service parent fourni. |
|
Un paramètre était non valide. |
|
Le serveur cible n’a pas fourni de réponse réseau appropriée. |
|
La requête a expiré. |
|
L’opération a manqué de mémoire. |
|
Une opération d’écriture fiable est déjà en cours. |
|
Le handle d’attribut donné n’était pas valide sur ce serveur. |
|
Impossible de lire l’attribut. |
|
L’attribut ne peut pas être écrit. |
|
L’attribut PDU n’était pas valide. |
|
L’attribut nécessite une authentification avant de pouvoir être lu ou écrit. |
|
Le serveur d’attributs ne prend pas en charge la demande reçue du client. |
|
Le décalage spécifié a dépassé la fin de l’attribut. |
|
L’attribut nécessite une autorisation avant de pouvoir être lu ou écrit. |
|
Trop d’écritures de préparation ont été mises en file d’attente. |
|
Aucun attribut trouvé dans la plage de handle d’attribut donnée. |
|
L’attribut ne peut pas être lu ou écrit à l’aide de la demande de lecture d’objet blob. |
|
La taille de clé de chiffrement utilisée pour chiffrer ce lien est insuffisante. |
|
La longueur de la valeur de l’attribut n’est pas valide pour l’opération. |
|
La demande d’attribut demandée a rencontré une erreur peu probable et n’a donc pas pu être effectuée comme demandé. |
|
L’attribut nécessite un chiffrement avant de pouvoir être lu ou écrit. |
|
Le type d’attribut n’est pas un attribut de regroupement pris en charge tel que défini par une spécification de couche supérieure. |
|
Ressources insuffisantes pour terminer la demande. |
|
Une erreur qui se trouve dans la plage réservée a été reçue. |
Remarques
L’appel de BluetoothGATTSetCharacteristicValue après BluetoothGATTBegin ReliableWrite avertit l’appareil Bluetooth distant de stocker cette demande dans une file d’attente de préparation sur l’appareil.
Si la signature est requise, l’opération ne doit pas nécessiter de réponse et ne doit pas se produire sur un canal sécurisé.
La caractéristique parente est retournée à partir d’un appel précédent à BluetoothGATTGetCharacteristics et ne doit pas être modifiée. Le comportement n’est pas défini si l’appelant effectue cette opération.
Exemple
BTH_LE_GATT_CHARACTERISTIC_VALUE newValue;
RtlZeroMemory(&newValue,(sizeof(newValue)));
newValue.DataSize = sizeof(valueData);
newValue.Data = (UCHAR*)&valueData;
// Set the new characteristic value
hr = BluetoothGATTSetCharacteristicValue(hDevice,
parentCharacteristic,
&newValue,
NULL,
BLUETOOTH_GATT_FLAG_NONE);
Configuration requise
Client minimal pris en charge | Pris en charge dans Windows 8 et versions ultérieures de Windows. |
Plateforme cible | Universal |
En-tête | bluetoothleapis.h |
Bibliothèque | BluetoothAPIs.lib |
DLL | BluetoothAPIs.dll |