小弟我想在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在事件发生的时候用这个指针调用回去。
我想在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在事件发生的时候用这个指针调用回去。