gattlib_connect_async() не передает параметр gatt_connection_t* в функцию обратного вызова
Я использую модифицированную версию примера gattlib ble_scan из VS2017 для Linux на плате Raspberry Pi 3 с Raspbian. Но вместо функции gattlib_connect () я использую функцию gattlib_connect_async(). Проблема, которую я наблюдаю, состоит в том, что вызов gatt_connection = gattlib_connect_async(NULL, addr, BDADDR_LE_RANDOM, BT_SEC_LOW, 0, 0, connect_cb) всегда возвращает действительное ненулевое значение для подключенного устройства, но статическая пустота connect_cb * (соединение gatt_connection_ передано соединению gatt_connec) Параметр gatt_connection_t* в большинстве случаев имеет значение NULL (0x0) для того же устройства.
Согласно определению gattlib_connect_async() в https://github.com/labapart/gattlib/blob/master/bluez/gattlib_connect.c, initialize_gattlib_connection () должен возвращать действительный ненулевой указатель на объект ошибки gatt_connection_t, если есть. Если ошибки нет, последующий вызов connect_cb () должен содержать этот ненулевой указатель. Так как gattlib_connect_async() возвращает ненулевой указатель (ошибки нет), этот же указатель следует передать в connect_cb () из io_connect_cb (). Но это не так. Зачем? Пожалуйста, объясните, что должно быть причиной этой проблемы и как ее решить.сильный текст