Función BluetoothGATTSetDescriptorValue (bluetoothleapis.h)
La función BluetoothGATTSetDescriptorValue escribe el valor de descriptor especificado en el dispositivo Bluetooth.
Sintaxis
HRESULT BluetoothGATTSetDescriptorValue(
[in] HANDLE hDevice,
[in] PBTH_LE_GATT_DESCRIPTOR Descriptor,
[in] PBTH_LE_GATT_DESCRIPTOR_VALUE DescriptorValue,
[in] ULONG Flags
);
Parámetros
[in] hDevice
Identificador del servicio.
[in] Descriptor
Puntero al descriptor primario.
[in] DescriptorValue
Puntero al valor del descriptor.
[in] Flags
Marcas para modificar el comportamiento de BluetoothGATTSetDescriptorValue:
Marca | Descripción |
---|---|
BLUETOOTH_GATT_FLAG_NONE | El cliente no tiene requisitos gatt específicos (valor predeterminado). |
BLUETOOTH_GATT_FLAG_CONNECTION_ENCRYPTED | El cliente solicita que los datos se transmitan a través de un canal cifrado. |
BLUETOOTH_GATT_FLAG_CONNECTION_AUTHENTICATED | El cliente solicita que los datos se transmitan a través de un canal autenticado. |
Valor devuelto
La función BluetoothGATTSetDescriptorValue devuelve los valores siguientes:
Código devuelto | Descripción |
---|---|
|
La operación se ha completado correctamente. |
|
Se devuelve si se proporciona un servicio primario y un identificador de servicio y la jerarquía de servicios no se acumula en el identificador de servicio primario proporcionado. |
|
Un parámetro no era válido. |
|
El servidor de destino no proporcionó una respuesta de red adecuada. |
|
Se agota el tiempo de espera de la solicitud. |
|
La operación se quedó sin memoria. |
|
El identificador de atributo especificado no era válido en este servidor. |
|
El atributo no se puede leer. |
|
El atributo no se puede escribir. |
|
El atributo PDU no era válido. |
|
El atributo requiere autenticación antes de que se pueda leer o escribir. |
|
El servidor de atributos no admite la solicitud recibida del cliente. |
|
Offset especificado fue pasado el final del atributo. |
|
El atributo requiere autorización para que se pueda leer o escribir. |
|
Se han puesto en cola demasiadas escrituras de preparación. |
|
No se encontró ningún atributo dentro del intervalo de identificadores de atributo especificado. |
|
El atributo no se puede leer ni escribir mediante la solicitud de blob de lectura. |
|
El tamaño de clave de cifrado que se usa para cifrar este vínculo no es suficiente. |
|
La longitud del valor del atributo no es válida para la operación. |
|
La solicitud de atributo solicitada ha encontrado un error poco probable y, por lo tanto, no se pudo completar como se solicitó. |
|
El atributo requiere cifrado antes de que se pueda leer o escribir. |
|
El tipo de atributo no es un atributo de agrupación admitido según lo definido por una especificación de capa superior. |
|
Recursos insuficientes para completar la solicitud. |
|
Error que se encuentra en el intervalo reservado. |
Comentarios
El descriptor primario debe devolverse desde una llamada anterior a BluetoothGATTGetDescriptors y no debe modificarse. El comportamiento no está definido si el autor de la llamada lo hace.
Ejemplo
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);
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | Compatible con Windows 8 y versiones posteriores de Windows. |
Plataforma de destino | Universal |
Encabezado | bluetoothleapis.h |
Library | BluetoothApis.lib |
Archivo DLL | BluetoothAPIs.dll |