Funzione BluetoothGATTSetCharacteristicValue (bluetoothleapis.h)
La funzione BluetoothGATTSetCharacteristicValue scrive il valore di caratteristica specificato nel dispositivo Bluetooth.
Sintassi
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
);
Parametri
[in] hDevice
Gestire il servizio.
[in] Characteristic
Puntatore a BTH_LE_GATT_CHARACTERISTIC struttura contenente la caratteristica padre.
[in] CharacteristicValue
Puntatore alla struttura BTH_LE_GATT_CHARACTERISTIC_VALUE contenente il valore della caratteristica.
[in, optional] ReliableWriteContext
BTH_LE_GATT_RELIABLE_WRITE_CONTEXT struttura contenente il contesto che descrive l'operazione di scrittura affidabile restituita da una chiamata precedente a BluetoothGATTBeginReliableWrite.
[in] Flags
Flag per modificare il comportamento di BluetoothGATTSetCharacteristicValue:
Flag | Descrizione |
---|---|
BLUETOOTH_GATT_FLAG_NONE | Il client non ha requisiti GATT specifici (impostazione predefinita). |
BLUETOOTH_GATT_FLAG_CONNECTION_ENCRYPTED | Il client richiede la trasmissione dei dati su un canale crittografato. |
BLUETOOTH_GATT_FLAG_CONNECTION_AUTHENTICATED | Il client richiede che i dati vengano trasmessi tramite un canale autenticato. |
BLUETOOTH_GATT_FLAG_WRITE_WITHOUT_RESPONSE | Scrivere senza risposta. |
BLUETOOTH_GATT_FLAG_SIGNED_WRITE | Scrittura firmata. I driver di profilo devono essere usati con BLUETOOTH_GATT_FLAG_WRITE_WITHOUT_RESPONSE per produrre la scrittura firmata senza risposta. |
Valore restituito
La funzione BluetoothGATTSetCharacteristicValue restituisce i valori seguenti:
Codice restituito | Descrizione |
---|---|
|
Operazione riuscita. |
|
Restituito se vengono forniti sia un servizio padre che un handle di servizio e la gerarchia del servizio non viene implementata nell'handle del servizio padre fornito. |
|
Parametro non valido. |
|
Il server di destinazione non ha fornito una risposta di rete appropriata. |
|
Timeout della richiesta. |
|
L'operazione ha esaurito la memoria. |
|
Un'operazione di scrittura affidabile è già in corso. |
|
L'handle dell'attributo specificato non è valido in questo server. |
|
Impossibile leggere l'attributo. |
|
Impossibile scrivere l'attributo. |
|
L'attributo PDU non è valido. |
|
L'attributo richiede l'autenticazione prima di poter essere letto o scritto. |
|
Il server attributi non supporta la richiesta ricevuta dal client. |
|
L'offset specificato è passato alla fine dell'attributo. |
|
L'attributo richiede l'autorizzazione prima di poter essere letto o scritto. |
|
Troppe scritture di preparazione sono state accodate. |
|
Nessun attributo trovato all'interno dell'intervallo di handle di attributi specificato. |
|
L'attributo non può essere letto o scritto usando la richiesta BLOB di lettura. |
|
Le dimensioni della chiave di crittografia usate per crittografare questo collegamento non sono sufficienti. |
|
La lunghezza del valore dell'attributo non è valida per l'operazione. |
|
La richiesta di attributo richiesta ha rilevato un errore improbabile e pertanto non è stato possibile completare come richiesto. |
|
L'attributo richiede la crittografia prima di poter essere letto o scritto. |
|
Il tipo di attributo non è un attributo di raggruppamento supportato come definito da una specifica di livello superiore. |
|
Risorse insufficienti per completare la richiesta. |
|
Errore che si trova nell'intervallo riservato ricevuto. |
Commenti
Chiamando BluetoothGATTSetCharacteristicValue dopo BluetoothGATTBeginReliableWrite, notifica al dispositivo Bluetooth remoto di archiviare questa richiesta in una coda di preparazione nel dispositivo.
Se è necessaria la firma, l'operazione non deve richiedere una risposta e non deve verificarsi su un canale sicuro.
La caratteristica padre viene restituita da una chiamata precedente a BluetoothGATTGetCharacteristics e non deve essere modificata. Il comportamento non è definito se il chiamante esegue questa operazione.
Esempio
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);
Requisiti
Client minimo supportato | Supportato in Windows 8 e versioni successive di Windows. |
Piattaforma di destinazione | Universale |
Intestazione | bluetoothleapis.h |
Libreria | BluetoothAPIs.lib |
DLL | BluetoothAPIs.dll |