在 Windows API 中,BLUETOOTH_GATT_VALUE_CHANGED_EVENT 结构用于表示蓝牙 GATT 特征值改变的事件信息。以下是该结构的定义:
typedef struct _BLUETOOTH_GATT_VALUE_CHANGED_EVENT {
  USHORT                      AttributeHandle;
  BTH_GATT_VALUE_CHANGED_TYPE CharacteristicValueChange;
  BOOLEAN                     IsIndication;
  BOOLEAN                     AttributeValue;
  USHORT                      ServiceHandle;
  BTH_LE_GATT_EVENT_TYPE      EventType;
  UCHAR                       ChangedAttributeDataSize;
  PVOID                       ChangedAttributeData;
} BLUETOOTH_GATT_VALUE_CHANGED_EVENT, *PBLUETOOTH_GATT_VALUE_CHANGED_EVENT;

各字段的含义如下:

  •  AttributeHandle: 表示特征值所在的 GATT 属性的句柄。

  •  CharacteristicValueChange: 表示特征值改变的类型,可以是 BTH_GATT_VALUE_CHANGED_NOTIFICATION 或 BTH_GATT_VALUE_CHANGED_INDICATION。

  •  IsIndication: 表示特征值改变是否是 Indication 类型。

  •  AttributeValue: 表示特征值的当前状态。

  •  ServiceHandle: 表示包含特征值的 GATT 服务的句柄。

  •  EventType: 表示 GATT 事件的类型。

  •  ChangedAttributeDataSize: 表示 ChangedAttributeData 字段的数据大小(字节数)。

  •  ChangedAttributeData: 表示包含特征值改变数据的缓冲区。


这个结构通常会在 PFNBLUETOOTH_GATT_EVENT_CALLBACK 回调函数中作为参数传递,以便应用程序能够处理 GATT 特征值改变的事件。

请注意,API 的具体实现可能会有更新,因此建议查阅最新的 Windows API 文档或 MSDN 网站,以获取最新的信息。


转载请注明出处:http://www.zyzy.cn/article/detail/24100/Win32 API/Bthledef.h/BLUETOOTH_GATT_VALUE_CHANGED_EVENT