小弟我想在dll库返回一个数据时,然后在调用dll的程序里触发处理这个数据包的函数(处理函数在调用dll的程序)。这种情况可否用回调函数?如

我想在dll库返回一个数据时,然后在调用dll的程序里触发处理这个数据包的函数(处理函数在调用dll的程序)。这种情况可否用回调函数?如
我想在dll库返回一个数据时,然后在调用dll的程序里触发处理这个数据包的函数(处理函数在调用dll的程序)。

这种情况可否用回调函数?如何实现?

------解决方案--------------------
可以.
定义一个函数指针类型
typedef void (__stdcall* CALLBACKPROC)(LPVOID pData, LONG sz);

DLL中定义如下函数
void SetCallBackProc(CALLBACKPROC *p);

调用者实现一个__stdcall void Proc(LPVOID pData, LONG sz);这样的函数。
需要的时候把这个函数的地址通过SetCallBackProc传进DLL里。
DLL在事件发生的时候用这个指针调用回去。