我需要通过回调调用使用 JNA 的方法,问题是 api 无法识别该方法,因为 JNA 回调不包含通过方法参数传递的函数。
C中的函数是:
Result API LS800AutoDocHandle(...
int (__stdcall *userfunc1)(S_CODELINE_INFO_LS800 *CodelineInfo),
int (__stdcall *userfunc2)(S_IMAGE_INFO_LS800 *ImageInfo),
int (__stdcall *userfunc3)(S_IMAGE_INFO_LS800 *ImageInfo),
...);
这个函数调用这个方法
Reply = LS800AutoDocHandle(...
(CodelineType == READ_CODELINE_MICR ? OnCodelineRead : 0),
(CodelineType == NO_READ_CODELINE ? OnImageFrontReady : 0),
NULL,//OnImageBackReady,
...); // Reserved3
那么我的问题是,如何通过 JNA 的回调调用 OnCodelineRead 方法?