在PInvoke DLL'rfidapi32.dll'中找不到入口点'RFID_Connect'

在PInvoke DLL'rfidapi32.dll'中找不到入口点'RFID_Connect'

问题描述:



我正在开发移动应用程序.
当我在读取标签的同时连接到设备时,出现错误:

Hi,

I am developing mobile application.
When I connect to the device while reading the tag I get error:

Can't find an Entry Point 'RFID_Connect' in a PInvoke DLL 'rfidapi32.dll'.


我不确定这是什么错误.我正在使用rfid阅读器移动设备
domine是c#.net 3.5

请帮忙.

问候,
pavan


I didn''t identify what this error is. I am using rfid reader mobile device
domine is c#.net 3.5

Please help.

Regards,
pavan

这意味着您试图在rdidapi.dll中使用的方法与您尝试使用的方法具有不同的签名,或者根本不存在.也许所有您都需要DLL的较新版本...
That means the method you''re trying to use in rdidapi.dll either has a different signature than the one you''re trying to use, or doesn''t exist at all. Maybe all you need a newer version of the DLL...


以找出真正从DLL导出的内容以及使用某些二进制转储实用程序(例如DUMPBIN)可以找到的名称. .EXE(在Visual Studio命令提示符下运行),请参见 http://msdn.microsoft.com/en-us/library/c1h23y6c%28v=VS.100%29.aspx [ http://en.wikipedia.org/wiki/Name_mangling [ ^ ].您应该将此确切名称用作System.Runtime.InteropServices.DllImportAttribute的参数EntryPoint的参数,请参阅 ^ ].

即使您创建自己的本机DLL文件,也可以通过此参数运行实用程序并显式使用确切的入口点名称.

装饰名称还可以使您对函数参数有所了解,但这并不可靠.您需要知道要导入的函数的确切签名和调用约定.

—SA
To find out what really exported from a DLL and under what name can be found by using some binary dump utility, such as DUMPBIN.EXE (run it under Visual Studio Command Prompt), see http://msdn.microsoft.com/en-us/library/c1h23y6c%28v=VS.100%29.aspx[^].

The name you will find can be decorated, see http://en.wikipedia.org/wiki/Name_mangling[^]. You should use this exact name as a parameter of the parameter EntryPoint of System.Runtime.InteropServices.DllImportAttribute, see http://msdn.microsoft.com/en-us/library/system.runtime.interopservices.dllimportattribute.aspx[^].

Even if you create your own native DLL file, it can be useful to run the utility and use exact entry point name explicitly through this parameter.

Decorated name can also give you an idea of the function parameters, but this is not reliable. You need to know exact signature and calling conventions of the function to be imported.

—SA


我想您正在使用Motorola EMDK通过MC9090Z上的RFID3库来驱动RFID阅读器.我认为问题出在RFIDAPI32.DLL版本中,该版本可能不支持Motorola LLRP封装功能.
我不知道是否可以升级DLL:最新的DLL安装在CE6.0或Mobile 6.5设备上,而MC9090Z是Mobile 5.0设备.
我希望这会有所帮助.

AM
I presume you''re using the Motorola EMDK to drive the RFID reader, using RFID3 library on a MC9090Z. I think the problem is in the RFIDAPI32.DLL version, which may be is not supporting the motorola LLRP encapsulation functions.
I don''t know if it''s possible to upgrade the DLL: most recent DLL''s are installed on CE6.0 or Mobile 6.5 devices, and the MC9090Z is a Mobile 5.0 device.

I hope this will help.

AM