Freigeben über


BluetoothGATTSetDescriptorValue-Funktion (bluetoothleapis.h)

Die BluetoothGATTSetDescriptorValue-Funktion schreibt den angegebenen Deskriptorwert auf das Bluetooth-Gerät.

Syntax

HRESULT BluetoothGATTSetDescriptorValue(
  [in] HANDLE                        hDevice,
  [in] PBTH_LE_GATT_DESCRIPTOR       Descriptor,
  [in] PBTH_LE_GATT_DESCRIPTOR_VALUE DescriptorValue,
  [in] ULONG                         Flags
);

Parameter

[in] hDevice

Handle mit dem Dienst.

[in] Descriptor

Zeiger auf den übergeordneten Deskriptor.

[in] DescriptorValue

Zeiger auf den Wert des Deskriptors.

[in] Flags

Flags zum Ändern des Verhaltens von BluetoothGATTSetDescriptorValue:

Flag Beschreibung
BLUETOOTH_GATT_FLAG_NONE Der Client hat keine spezifischen GATT-Anforderungen (Standard).
BLUETOOTH_GATT_FLAG_CONNECTION_ENCRYPTED Der Client fordert die Übertragung der Daten über einen verschlüsselten Kanal an.
BLUETOOTH_GATT_FLAG_CONNECTION_AUTHENTICATED Der Client fordert die Übertragung der Daten über einen authentifizierten Kanal an.

Rückgabewert

Die BluetoothGATTSetDescriptorValue-Funktion gibt die folgenden Werte zurück:

Rückgabecode BESCHREIBUNG
S_OK
Der Vorgang wurde erfolgreich abgeschlossen.
ERROR_ACCESS_DENIED
Wird zurückgegeben, wenn sowohl ein übergeordneter Dienst als auch ein Diensthandle bereitgestellt werden und die Diensthierarchie kein Rollup zum bereitgestellten übergeordneten Diensthandle durchführt.
ERROR_INVALID_PARAMETER
Ein Parameter war ungültig.
ERROR_BAD_NET_RESP
Der Zielserver hat keine geeignete Netzwerkantwort bereitgestellt.
ERROR_SEM_TIMEOUT
Das Anforderungstimeout.
ERROR_NO_SYSTEM_RESOURCES
Für den Vorgang war der Arbeitsspeicher nicht mehr vorhanden.
E_BLUETOOTH_ATT_INVALID_HANDLE
Das angegebene Attributhandle war auf diesem Server ungültig.
E_BLUETOOTH_ATT_READ_NOT_PERMITTED
Das Attribut kann nicht gelesen werden.
E_BLUETOOTH_ATT_WRITE_NOT_PERMITTED
Das Attribut kann nicht geschrieben werden.
E_BLUETOOTH_ATT_INVALID_PDU
Das Attribut PDU war ungültig.
E_BLUETOOTH_ATT_INSUFFICIENT_AUTHENTICATION
Das Attribut erfordert eine Authentifizierung, bevor es gelesen oder geschrieben werden kann.
E_BLUETOOTH_ATT_REQUEST_NOT_SUPPORTED
Der Attributserver unterstützt die vom Client empfangene Anforderung nicht.
E_BLUETOOTH_ATT_INVALID_OFFSET
Der angegebene Offset lag am Ende des Attributs.
E_BLUETOOTH_ATT_INSUFFICIENT_AUTHORIZATION
Das Attribut erfordert eine Autorisierung, bevor es gelesen oder geschrieben werden kann.
E_BLUETOOTH_ATT_PREPARE_QUEUE_FULL
Zu viele Schreibvorbereitungen wurden in die Warteschlange gestellt.
E_BLUETOOTH_ATT_ATTRIBUTE_NOT_FOUND
Kein Attribut innerhalb des angegebenen Attributhandlebereichs gefunden.
E_BLUETOOTH_ATT_ATTRIBUTE_NOT_LONG
Das Attribut kann nicht mit der Read Blob Request gelesen oder geschrieben werden.
E_BLUETOOTH_ATT_INSUFFICIENT_ENCRYPTION_KEY_SIZE
Die Verschlüsselungsschlüsselgröße, die für die Verschlüsselung dieses Links verwendet wird, ist nicht ausreichend.
E_BLUETOOTH_ATT_INVALID_ATTRIBUTE_VALUE_LENGTH
Die Attributwertlänge ist für den Vorgang ungültig.
E_BLUETOOTH_ATT_UNLIKELY
Bei der angeforderten Attributanforderung ist ein Fehler aufgetreten, der unwahrscheinlich war und daher nicht wie angefordert abgeschlossen werden konnte.
E_BLUETOOTH_ATT_INSUFFICIENT_ENCRYPTION
Das Attribut erfordert eine Verschlüsselung, bevor es gelesen oder geschrieben werden kann.
E_BLUETOOTH_ATT_UNSUPPORTED_GROUP_TYPE
Der Attributtyp ist kein unterstütztes Gruppierungsattribut, wie durch eine höhere Spezifikation definiert.
E_BLUETOOTH_ATT_INSUFFICIENT_RESOURCES
Unzureichende Ressourcen, um die Anforderung abzuschließen.
E_BLUETOOTH_ATT_UNKNOWN_ERROR
Ein Fehler, der im reservierten Bereich liegt, wurde empfangen.

Hinweise

Der übergeordnete Deskriptor muss von einem vorherigen Aufruf von BluetoothGATTGetDescriptors zurückgegeben werden und darf nicht geändert werden. Das Verhalten ist nicht definiert, wenn der Aufrufer dies tut.

Beispiel


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);

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Wird in Windows 8 und höheren Versionen von Windows unterstützt.
Zielplattform Universell
Header bluetoothleapis.h
Bibliothek BluetoothApis.lib
DLL BluetoothAPIs.dll

Weitere Informationen

BTH_LE_GATT_DESCRIPTOR

BTH_LE_GATT_DESCRIPTOR_VALUE