Função BluetoothGATTSetCharacteristicValue (bluetoothleapis.h)
A função BluetoothGATTSetCharacteristicValue grava o valor de característica especificado no dispositivo Bluetooth.
Sintaxe
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
);
Parâmetros
[in] hDevice
Identificador para o serviço.
[in] Characteristic
Ponteiro para BTH_LE_GATT_CHARACTERISTIC estrutura que contém a característica pai.
[in] CharacteristicValue
Ponteiro para BTH_LE_GATT_CHARACTERISTIC_VALUE estrutura que contém o valor de característica.
[in, optional] ReliableWriteContext
BTH_LE_GATT_RELIABLE_WRITE_CONTEXT estrutura que contém o contexto que descreve a operação de gravação confiável retornada de uma chamada anterior para BluetoothGATTBeginReliableWrite.
[in] Flags
Sinalizadores para modificar o comportamento de BluetoothGATTSetCharacteristicValue:
Sinalizador | Descrição |
---|---|
BLUETOOTH_GATT_FLAG_NONE | O cliente não tem requisitos de GATT específicos (padrão). |
BLUETOOTH_GATT_FLAG_CONNECTION_ENCRYPTED | O cliente solicita que os dados sejam transmitidos por um canal criptografado. |
BLUETOOTH_GATT_FLAG_CONNECTION_AUTHENTICATED | O cliente solicita que os dados sejam transmitidos por um canal autenticado. |
BLUETOOTH_GATT_FLAG_WRITE_WITHOUT_RESPONSE | Escreva sem resposta. |
BLUETOOTH_GATT_FLAG_SIGNED_WRITE | Gravação assinada. Os drivers de perfil devem usar com BLUETOOTH_GATT_FLAG_WRITE_WITHOUT_RESPONSE para produzir gravação assinada sem resposta. |
Valor retornado
A função BluetoothGATTSetCharacteristicValue retorna os seguintes valores:
Código de retorno | Descrição |
---|---|
|
A operação foi concluída com sucesso. |
|
Retornado se um serviço pai e um identificador de serviço forem fornecidos e a hierarquia de serviço não for acumulada no identificador de serviço pai fornecido. |
|
Um parâmetro era inválido. |
|
O servidor de destino não forneceu uma resposta de rede apropriada. |
|
A solicitação atingiu o tempo limite. |
|
A operação ficou sem memória. |
|
Uma operação de gravação confiável já está em andamento. |
|
O identificador de atributo dado não era válido neste servidor. |
|
O atributo não pode ser lido. |
|
O atributo não pode ser gravado. |
|
O atributo PDU era inválido. |
|
O atributo requer autenticação antes de ser lido ou gravado. |
|
O servidor de atributos não dá suporte à solicitação recebida do cliente. |
|
O deslocamento especificado foi passado do final do atributo. |
|
O atributo requer autorização antes de ser lido ou gravado. |
|
Muitas gravações de preparação foram enfileiradas. |
|
Nenhum atributo encontrado no intervalo de identificador de atributo fornecido. |
|
O atributo não pode ser lido ou gravado usando a Solicitação de Blob de Leitura. |
|
O tamanho da chave de criptografia usado para criptografar esse link é insuficiente. |
|
O comprimento do valor do atributo é inválido para a operação. |
|
A solicitação de atributo solicitada encontrou um erro improvável e, portanto, não pôde ser concluído conforme solicitado. |
|
O atributo requer criptografia antes de ser lido ou gravado. |
|
O tipo de atributo não é um atributo de agrupamento com suporte, conforme definido por uma especificação de camada superior. |
|
Recursos insuficientes para concluir a solicitação. |
|
Um erro que está no intervalo reservado foi recebido. |
Comentários
Chamar BluetoothGATTSetCharacteristicValue após BluetoothGATTBeginReliableWrite notifica o dispositivo Bluetooth remoto para armazenar essa solicitação em uma fila de preparação no dispositivo.
Se a assinatura for necessária, a operação não deverá exigir uma resposta e não deverá ocorrer em um canal seguro.
A característica pai é retornada de uma chamada anterior para BluetoothGATTGetCharacteristics e não deve ser alterada. O comportamento será indefinido se o chamador fizer isso.
Exemplo
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);
Requisitos
Cliente mínimo com suporte | Com suporte no Windows 8 e versões posteriores do Windows. |
Plataforma de Destino | Universal |
Cabeçalho | bluetoothleapis.h |
Biblioteca | BluetoothAPIs.lib |
DLL | BluetoothAPIs.dll |