全局数据新线程用控件显示有关问题

全局数据新线程用控件显示问题
我做了一个蓝牙扫描dll动态链接库bt.dll.
应用程序MFC app调用了该bt.dll. app中一个全局是蓝牙设备数组,一共可以存放128个蓝牙设备信息,包含mac地址等. APP程序先将该全局是蓝牙设备数组地址传入到bt.dll中用指针保存. 然后调用bt.dll中的蓝牙扫描程序,该扫描程序使用传入的蓝牙设备数组指针并开始扫描,扫描后将扫描到得蓝牙设备信息存到该蓝牙设置数组中, app然后新建一个线程来监视全局是蓝牙设备数组,一旦发现dll扫描并存入蓝牙设备信息后,就用control list控件显示出来.

现在问题是,有时候bt.dll本来已经扫描到并存入蓝牙设备数组了,但app新线程侦测不到无法用control list显示出来(不用control list控件显示没有问题). 我怀疑是新线程与DLL共享数据处理出了问题. 请问应该用哪个方式来处理这个数据?
------解决方案--------------------
往dll传入app的界面句柄,或者一个回调函数,发现一个蓝牙发送消息或者调用app传入的回调函数实现。