BluetoothGATTSetCharacteristicValue 関数 (bluetoothleapis.h)
BluetoothGATTSetCharacteristicValue 関数は、指定された特性値を Bluetooth デバイスに書き込みます。
構文
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
);
パラメーター
[in] hDevice
サービスへのハンドル。
[in] Characteristic
親特性 BTH_LE_GATT_CHARACTERISTIC 含む構造体へのポインター。
[in] CharacteristicValue
特性値 BTH_LE_GATT_CHARACTERISTIC_VALUE 含む構造体へのポインター。
[in, optional] ReliableWriteContext
BTH_LE_GATT_RELIABLE_WRITE_CONTEXT BluetoothGATTBeginReliableWrite の以前の呼び出しから返された信頼性の高い書き込み操作を記述するコンテキストを含む構造体です。
[in] Flags
BluetoothGATTSetCharacteristicValue の動作を変更するためのフラグ:
フラグ | 説明 |
---|---|
BLUETOOTH_GATT_FLAG_NONE | クライアントに特定の GATT 要件がありません (既定値)。 |
BLUETOOTH_GATT_FLAG_CONNECTION_ENCRYPTED | クライアントは、暗号化されたチャネル経由でデータの送信を要求します。 |
BLUETOOTH_GATT_FLAG_CONNECTION_AUTHENTICATED | クライアントは、認証されたチャネル経由でデータを送信するように要求します。 |
BLUETOOTH_GATT_FLAG_WRITE_WITHOUT_RESPONSE | 応答なしで書き込みます。 |
BLUETOOTH_GATT_FLAG_SIGNED_WRITE | 署名付き書き込み。 プロファイル ドライバーは、応答なしで署名された書き込みを生成するために 、BLUETOOTH_GATT_FLAG_WRITE_WITHOUT_RESPONSE で を使用する必要があります。 |
戻り値
BluetoothGATTSetCharacteristicValue 関数は、次の値を返します。
リターン コード | 説明 |
---|---|
|
操作は正常に完了しました。 |
|
親サービスとサービス ハンドルの両方が提供され、サービス階層が指定された親サービス ハンドルにロールアップされない場合に返されます。 |
|
パラメーターが無効でした。 |
|
ターゲット サーバーが適切なネットワーク応答を提供しませんでした。 |
|
要求がタイムアウトしました。 |
|
操作がメモリ不足でした。 |
|
現在、信頼性の高い書き込み操作が進行中です。 |
|
指定された属性ハンドルがこのサーバーで無効でした。 |
|
属性を読み取ることができません。 |
|
属性を書き込むことができません。 |
|
属性 PDU が無効です。 |
|
属性を読み取ったり書き込んだりするには、認証が必要です。 |
|
属性サーバーは、クライアントから受信した要求をサポートしていません。 |
|
指定されたオフセットは、 属性の末尾を超えていました。 |
|
属性を読み取りまたは書き込む前に、属性に承認が必要です。 |
|
キューに登録されている準備書き込みが多すぎます。 |
|
指定された属性ハンドル範囲内に属性が見つかりません。 |
|
属性は、読み取り BLOB 要求を使用して読み取りまたは書き込みできません。 |
|
このリンクの暗号化に使用される暗号化キー サイズが不十分です。 |
|
操作の属性値の長さが無効です。 |
|
要求された属性要求で、可能性が低いエラーが発生したため、要求どおりに完了できませんでした。 |
|
属性は、読み取りまたは書き込み前に暗号化が必要です。 |
|
属性の種類は、上位レイヤー仕様で定義されている、サポートされているグループ化属性ではありません。 |
|
要求を完了するためのリソースが不足しています。 |
|
予約範囲内にあるエラーが受信されました。 |
解説
BluetoothGATTBeginReliableWrite の後に BluetoothGATTSetCharacteristicValue を呼び出すと、この要求をデバイスの準備キューに格納するようにリモート Bluetooth デバイスに通知します。
署名が必要な場合、操作は応答を必要とせず、セキュリティで保護されたチャネル経由で行う必要はありません。
親特性は、 BluetoothGATTGetCharacteristics の以前の呼び出しから返され、変更することはできません。 呼び出し元がこれを行う場合、動作は未定義です。
例
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);
必要条件
サポートされている最小のクライアント | Windows 8 以降のバージョンの Windows でサポートされています。 |
対象プラットフォーム | ユニバーサル |
Header | bluetoothleapis.h |
Library | BluetoothAPIs.lib |
[DLL] | BluetoothAPIs.dll |