返回值是int[];
但是在调用的时候会出现:无法封送处理“return value”: 无效的托管/非托管类型组合。
代码:
[DllImport("SmartKeyIO.dll", EntryPoint = "GetSystemInfo"]
public static extern int[] GetSystemInfo(int DeviceID, int DeviceType);
public static extern int[] GetSystemInfo(int DeviceID, int DeviceType); int len = 4; //这里len的长度替换为GetSystemInfo函数返回的int数组的实际长度
int[] systemInfo = new int[len];
systemInfo = IC.GetSystemInfo(deviceID, deviceType);
求高手指点!
但是在调用的时候会出现:无法封送处理“return value”: 无效的托管/非托管类型组合。
代码:
[DllImport("SmartKeyIO.dll", EntryPoint = "GetSystemInfo"]
public static extern int[] GetSystemInfo(int DeviceID, int DeviceType);
public static extern int[] GetSystemInfo(int DeviceID, int DeviceType); int len = 4; //这里len的长度替换为GetSystemInfo函数返回的int数组的实际长度
int[] systemInfo = new int[len];
systemInfo = IC.GetSystemInfo(deviceID, deviceType);
求高手指点!
解决方案 »
- 讨论一下文档相似度比对的算法
- [IE编程]WebBrowser控件和IE版本关系?
- winform与Web Services的问题!请高手指点!(懂不懂的都可以进来看看学学)
- 。NET在运行的时候为什么让输入用户名和密码
- vs2005编译器可以扩展吗?类似于Delphi提供的Open Tool Api 请高手指点。
- C# Linq实现多表连接
- 请问那里能下载Microsoft Application Blocks for .NET?
- WinForm管理windows服务程序
- 急!access转换成SQL2005问题('InStr'不可识别) 在线等
- 急问:定时程序偶尔报错,因为资源没有释放么(附代码)?
- MS-SQL:时间戳转换为varchar类型的问题
- CE usb同步 PC SOCKET 通讯
public static extern IntPtr GetSystemInfo(int DeviceID, int DeviceType);
获取到IntPtr指针后用Marshal.PtrToStructure()转换或Marshal.ReadIntPtr()
后:无法在 DLL“SmartKeyIO.dll”中找到名为“GetSystemInfo”的入口点;
高手能否远程帮我看一下啊!
数组不接受,指针找不到。
你把原始的声明方式贴出来看看吧。
就是C++,或VB,或delphi的声明
public static extern IntPtr GetSystemInfo(int DeviceID, int DeviceType);
估计那个C/C++函数有问题吧.
和厂家要掉哦那个方式,
而且要个C#的就OK了。