回调函数问题之回调函数不执行……高分求解!!!!
最近调试一个RFID,商家只给个dll文件,没有文档,有一个源码VB6的事例程序,我在VC6下使用dll,并且dll文件是用VC6编写的。下面是我的定义,请达人帮忙,小弟不胜感激!
函数定义:
typedef (WINAPI*pReaderCommReadTagData)
(RCB_TYPE *lprcb, BYTE nodeAddress, BYTE antanna,int* idLen,
BYTE idtype,BLOCK_DATA_TYPE* idData, BYTE startBit,BYTE bitLen,
int* TagCount, PVOID);
pReaderCommReadTagData ReaderCommReadTagData = NULL;
ReaderCommReadTagData =
(pReaderCommReadTagData)GetProcAddress(LoadLibrary("ReaderComm5dll.dll"),"ReaderCommReadTagData");
我的回调函数定义:
static void WINAPI ReadTagDataCallback(RCB_TYPE *lpRCB,BYTE noteaddress,
BYTE antena_index,BYTE tagType,
BLOCK_DATA_TYPE *tagData,BYTE userDataLen,BLOCK_DATA_TYPE *tagUserData);
说明:BLOCK_DATA_TYPE , RCB_TYPE 为自定义结构。
我运行程序读取电子标签的数据,就是不进入回调函数,不知道为什么。此前还有几个函数的声明跟这个差不多,如读取电子标签的Tag ID,都是成功的,并且也有回调函数,就是这个读取用户数据的函数不能执行到回调函数。
请达人指教,告知一下可能存在的问题,为什么会不执行到回调?