Funzione BluetoothGATTSetDescriptorValue (bluetoothleapis.h)
La funzione BluetoothGATTSetDescriptorValue scrive il valore descrittore specificato nel dispositivo Bluetooth.
Sintassi
HRESULT BluetoothGATTSetDescriptorValue(
[in] HANDLE hDevice,
[in] PBTH_LE_GATT_DESCRIPTOR Descriptor,
[in] PBTH_LE_GATT_DESCRIPTOR_VALUE DescriptorValue,
[in] ULONG Flags
);
Parametri
[in] hDevice
Gestire il servizio.
[in] Descriptor
Puntatore al descrittore padre.
[in] DescriptorValue
Puntatore al valore del descrittore.
[in] Flags
Flag per modificare il comportamento di BluetoothGATTSetDescriptorValue:
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. |
Valore restituito
La funzione BluetoothGATTSetDescriptorValue 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. |
|
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
Il descrittore padre deve essere restituito da una chiamata precedente a BluetoothGATTGetDescriptors e non deve essere modificato. Il comportamento non è definito se il chiamante esegue questa operazione.
Esempio
BTH_LE_GATT_DESCRIPTOR_VALUE newValue;
RtlZeroMemory(&newValue, sizeof(newValue));
newValue.DescriptorType = ClientCharacteristicConfiguration;
newValue.ClientCharacteristicConfiguration.IsSubscribeToNotification = TRUE;
// Subscribe to an event.
hr = BluetoothGATTSetDescriptorValue(hDevice,
parentDescriptor,
&newValue,
BLUETOOTH_GATT_FLAG_NONE);
Requisiti
Requisito | Valore |
---|---|
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 |