BluetoothGATTSetCharacteristicValue-Funktion (bluetoothleapis.h)
Die BluetoothGATTSetCharacteristicValue-Funktion schreibt den angegebenen Merkmalswert in das Bluetooth-Gerät.
Syntax
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
);
Parameter
[in] hDevice
Handle mit dem Dienst.
[in] Characteristic
Zeiger auf BTH_LE_GATT_CHARACTERISTIC Struktur, die das übergeordnete Merkmal enthält.
[in] CharacteristicValue
Zeiger auf BTH_LE_GATT_CHARACTERISTIC_VALUE Struktur, die den Merkmalswert enthält.
[in, optional] ReliableWriteContext
BTH_LE_GATT_RELIABLE_WRITE_CONTEXT Struktur, die den Kontext enthält, der den zuverlässigen Schreibvorgang beschreibt, der von einem vorherigen Aufruf von BluetoothGATTBeginReliableWrite zurückgegeben wurde.
[in] Flags
Flags zum Ändern des Verhaltens von BluetoothGATTSetCharacteristicValue:
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. |
BLUETOOTH_GATT_FLAG_WRITE_WITHOUT_RESPONSE | Schreiben Sie ohne Antwort. |
BLUETOOTH_GATT_FLAG_SIGNED_WRITE | Signierter Schreibvorgang. Profiltreiber müssen mit BLUETOOTH_GATT_FLAG_WRITE_WITHOUT_RESPONSE verwenden, um signierte Schreibvorgänge ohne Antwort zu erzeugen. |
Rückgabewert
Die BluetoothGATTSetCharacteristicValue-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. |
|
Ein zuverlässiger Schreibvorgang wird bereits ausgeführt. |
|
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
Beim Aufrufen von BluetoothGATTSetCharacteristicValue nach BluetoothGATTBeginReliableWrite benachrichtigt das Bluetooth-Remotegerät, diese Anforderung in einer Vorbereitungswarteschlange auf dem Gerät zu speichern.
Wenn die Signatur erforderlich ist, darf der Vorgang keine Antwort erfordern und darf nicht über einen sicheren Kanal erfolgen.
Das übergeordnete Merkmal wird von einem vorherigen Aufruf von BluetoothGATTGetCharacteristics zurückgegeben und darf nicht geändert werden. Das Verhalten ist nicht definiert, wenn der Aufrufer dies tut.
Beispiel
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);
Anforderungen
Unterstützte Mindestversion (Client) | Unterstützt in Windows 8 und höheren Versionen von Windows. |
Zielplattform | Universell |
Header | bluetoothleapis.h |
Bibliothek | BluetoothAPIs.lib |
DLL | BluetoothAPIs.dll |