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 |
---|---|
|
Der Vorgang wurde erfolgreich abgeschlossen. |
|
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. |
|
Ein Parameter war ungültig. |
|
Der Zielserver hat keine geeignete Netzwerkantwort bereitgestellt. |
|
Das Anforderungstimeout. |
|
Für den Vorgang war der Arbeitsspeicher nicht mehr vorhanden. |
|
Das angegebene Attributhandle war auf diesem Server ungültig. |
|
Das Attribut kann nicht gelesen werden. |
|
Das Attribut kann nicht geschrieben werden. |
|
Das Attribut PDU war ungültig. |
|
Das Attribut erfordert eine Authentifizierung, bevor es gelesen oder geschrieben werden kann. |
|
Der Attributserver unterstützt die vom Client empfangene Anforderung nicht. |
|
Der angegebene Offset lag am Ende des Attributs. |
|
Das Attribut erfordert eine Autorisierung, bevor es gelesen oder geschrieben werden kann. |
|
Zu viele Schreibvorbereitungen wurden in die Warteschlange gestellt. |
|
Kein Attribut innerhalb des angegebenen Attributhandlebereichs gefunden. |
|
Das Attribut kann nicht mit der Read Blob Request gelesen oder geschrieben werden. |
|
Die Verschlüsselungsschlüsselgröße, die für die Verschlüsselung dieses Links verwendet wird, ist nicht ausreichend. |
|
Die Attributwertlänge ist für den Vorgang ungültig. |
|
Bei der angeforderten Attributanforderung ist ein Fehler aufgetreten, der unwahrscheinlich war und daher nicht wie angefordert abgeschlossen werden konnte. |
|
Das Attribut erfordert eine Verschlüsselung, bevor es gelesen oder geschrieben werden kann. |
|
Der Attributtyp ist kein unterstütztes Gruppierungsattribut, wie durch eine höhere Spezifikation definiert. |
|
Unzureichende Ressourcen, um die Anforderung abzuschließen. |
|
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 |