C#调用C++DLL 调用的时候报-14

图片说明
[DllImport(@"C:\Windows\System32\SSSE32.dll", EntryPoint = "ICC_Reader_Open",
CharSet = CharSet.Auto, CallingConvention = CallingConvention.StdCall)]
// 打开设备
public static extern Int32 ICC_Reader_Open(string ReaderHandle);

    [DllImport(@"C:\Windows\System32\SSSE32.dll", EntryPoint = "ICC_Reader_Close", 
    CharSet = CharSet.Auto,  CallingConvention = CallingConvention.StdCall)]
    //说明:    关闭通讯口
    public static extern Int32 ICC_Reader_Close(long ReaderHandle);
c#
0

3个回答

需要根据文档查询-14错误码对应的错误原因等来分析

0

只能知道0以上才是正确的,-14需要看状态码,你的文档里面应该有。

0

图片说明

指点下传入的参数哪里不对了

0
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
C#调用C(C++)dll示例教程,包含dll找不到函数入口的解决办法,包含C#dll调用方式不对出错的解决办法
本篇文章为了熟悉在C#环境下如何调用C(C++)写的dl
C#调用C++DLL 调用的时候报-14
![图片说明](https://img-ask.csdn.net/upload/201708/22/1503394368_244392.jpg)n[DllImport(@"C:\Windows\System32\SSSE32.dll", EntryPoint = "ICC_Reader_Open",n CharSet = CharSet.Auto, CallingConvention = CallingConvention.StdCall)]n // 打开设备n public static extern Int32 ICC_Reader_Open(string ReaderHandle);nn [DllImport(@"C:\Windows\System32\SSSE32.dll", EntryPoint = "ICC_Reader_Close", n CharSet = CharSet.Auto, CallingConvention = CallingConvention.StdCall)]n //说明: 关闭通讯口n public static extern Int32 ICC_Reader_Close(long ReaderHandle);n
c#调用c的dll
  一、将C#工程和C的dll工程放在同一个解决方案下,这样就可以实现联动调试,直接从C#中进入C的dll函数里。注意:每次更改dll中的代码后都必须重新生成dll。另,C#与C中有几种变量类型不对应,注意声明时的区分。 语言 C# C 类型 long long long/__int64 byte/Byte unsigned char char ...
(已更新)关于混合编程中C#调用C/C++DLL碰到具有数组、指针的参数或返回的解决办法(亲测)!
更新部分直接看文章最后!          如题,最近一段一直在搞工控类项目的上位机调度软件开发,由于扫描模块是余博用C++写的, 所以涉及到混合编程的问题了。         C#调用C++DLL的方法网上都有,把DLL放进exe的生成目录内,然后引用System.Runtime.InteropServices命名空间,然后在主类内部加上外部引用声明就好了。 [DllI...
C# 调用DLL文件
C# 调用DLL文件C# 调用DLL文件C# 调用DLL文件C# 调用DLL文件C# 调用DLL文件C# 调用DLL文件C# 调用DLL文件
c#调用c语言dll,形参有char*
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.W
C#调用C语言DLL文件示范
C#调用C语言DLL文件示范 C#调用C语言DLL文件示范 C#调用C语言DLL文件示范
C#调用C的Dll(类型对照)
转: C#调用C的Dll(类型对照) //C++中的DLL函数原型为   //extern "C" __declspec(dllexport) bool 方法名一(const char* 变量名1, unsigned char* 变量名2)   //extern "C" __declspec(dllexport) bool 方法名二(const unsigned char* 变量名1, ch
C# 调用C/C++ DLL库的回调函数
1、在 C/C++端 定义一个函数指针 Typedef void (*TESTBACK)(int a, int b); 定义一个带函数指针的函数 __declspec(dllexport int add(TESTBACK ptsTestBack, int a, int b) { return ptsTestBack(a, b); } 2、C# 端 声明回调函数的委
c# 调用c库dll 遇到char*转string的解决办法
最近由于有个未知的设备需要用到modbus通讯协议,底层需要与PLC通讯,坤跌,PLC啥型号也不清楚封在里面不能拆,前人只留了几个不能运行的QT代码以及不完整的文档。用惯了C#想要重新学QT,真不知猴年马月能完成项目。于是乎找了一个开源的基于C语言开发的modbus库,撸起袖子干了起来。撸代码的过程中,遇到调用c 库的char*转c#的string多次不成功的情况,各种冒框啊,折腾了大半天才算解决...
C#调用DLL的几种方法,包括C#调用C\C++\C#DLL
C#中dll调用方法 一、      DLL与应用程序 动态链接库(也称为DLL,即为“Dynamic Link Library”的缩写)是Microsoft Windows最重要的组成要素之一,打开Windows系统文件夹,你会发现文件夹中有很多DLL文件,Windows就是将一些主要的系统功能以DLL模块的形式实现。 动态链接库是不能直接执行的,也不能接收消息,它只是一个
C#调用带结构体指针的C Dll的方法
在C#中调用C(C++)类的DLL的时候
在C#中调用C语言写的动态链接库 DLL
1.首先将相关的C语言接口的DLL文件复制到bin\Debug                        2.添加 using System.Windows.Shapes;  3. 在类中用一下方式添加接口函数          [DllImport("TFFT.dll", EntryPoint = "TtfTest_InitTestEvn")]         public stat
c#调用非托管dll
c#调用非托管dll c#调用非托管dll c#调用非托管dll c#调用非托管dll
C#调用CDLL带指针参数的函数
C#调用CDLL带指针参数的函数的实例.
C# 调用C dll文件,无法加载问题
如图在VS中直接引用添加时出现错误。需要直接将dll添加到项目生成的exe同一个文件夹下,或者在Import时采样绝对路径或相对路径方式。
C++封装dll并用C#调用(范例),解决C#调用C++的dll找不到入口点异常
现实现以下功能:C++读写前切板,封装为DLL,并用C#调用,实现读写剪切板。 第一部分,C++代码: #include #include #include extern "C" __declspec(dllexport) void SetString(char * text, int size) { OpenClipboard(NULL);//打开剪切板 EmptyClipb
c++调用c#的dll + 实例
c++调用c#的dll + 实例 一、使用/clr编译MFC可执行文件或规则C# DLL函数.     1、打开“项目属性”对话框,方法是右键单击“解决方案资源管理器”中的项目并选择“属性”。     2、展开“配置属性”旁边的节点并选择“常规”。在右侧窗格中的“项目默认值”下,将“公共语言运行库支持”设置为“公共语言运行库支持(/clr)”。     3、在相同的窗格中,确保将“
C#调用C/C++动态链接库(.dll)详解
第一篇编译C的动态连接库 在实际工作中,我们经常会将C语言中的.lib和.h文件(静态库)编译成动态连接库.dll文件(这里只提供这两种文件,没有完整的工程),以提供给其他语言平台调用。 1,必须有.lib文件,只有.h文件是无法编译动态连接库的。 2,我使用的是VS2008,这里打开VS,新建项目—〉win32控制台应用程序,输入项目名称,点击确定,图示如fig.1所示。
VS2010产生C的dll方法和C#调用方式
第一部分:产生C的dll   1、 1,新建win32工程,选中DLL项目,如下图: 2,分别添加头文件和cpp文件 ? 1 2 3 4 5 6 7 // CDLL.h头文件 #ifndef LIB_H #define LIB_H extern "C" _
C#调用C写的DLL二级指针传递方法
最近在做一项目需要调用第3方DLL(c写的),其中有个参数是2级指针,查了很多资料终于搞定 1、函数原形   方法原式:   int Quest_goodsA(CHAR* flowno ,CHAR* salesman,int offlinenum,CHAR* offlinegoods,int onlinenum,CHAR* onlinegoods,CHAR** password,CHAR**
上位机开发--C#调用C做的库dll
void Swap(int* a, int* b) {     int c = *a;     *a = *b;     *b = c; } https://www.cnblogs.com/notnolyblogs/p/6015933.html 错误1 Swap首字母大写! 错误2 原因可能是托管的 PInvoke 签名与非托管的目标签名不匹配。 参考:https://blog.csdn.net...
c#调用C++ dll 报未将对象引用到设置对象的实例 的解决方案
c# 调用 C++ dll 第一次调用的时候,可以正常加载,正常返回,多次调用之后在执行完 sendMessage(b); 之后,就会报 未将对象引用到设置对象的实例,代码如下: using System; using System.Collections.Generic; using System.Text; using System.Runtime.InteropServices;
C#调用C/C++ DLL 参数传递和回调函数的总结
Int型传入: Dll端: extern "C" __declspec(dllexport) int Add(int a, int b) {     return a+b; } C#端: [DllImport("aeClient2.0.dll", CallingConvention =CallingConvention.Cdecl)]
C#在XP系统下调用C++ dll时报找不到指定模块
C#在XP系统下调用C++ dll时报找不到指定模块,VS2013下面编写的dll
C#调用C/C++的DLL实现字符串的传递
环境:VS2013 C/C++端:新建项目>> Visual C++ >> Win 32 控制台应用程序,后面注意选择 DLL、空项目。然后新建一个C/C++源程序文件,完成的DLL需要处理的功能,如:int dlltest(char *str, char *ans){……}str作为传入的字符串,ans作为传回的字符串,因内存实际在C#调用端分配,提供内存引用。 新建...
C#调用C#的DLL文件
C#调用C#写的DLL文件,C#调用C#的DLL文件,C#调用C#的DLL文件
[科普小短文]在C#中调用C语言函数(静态调用Native DLL,Windows & Microsoft.Net平台)
本文属于“科普”性质,面向对.Net不了解的读者。   对于不太了解.Net的人,如果想要了解.Net,我必须给他介绍P/Invoke。P/Invoke是什么呢?简单地说,就是在.Net中调用本地代码(Native code)的一种解决方案。所谓“本地代码”是相对于托管代码(Managed code)来说的。 P/Invoke实在是一个非常棒(awesome)的特性。本来,.Net 这项技术...
C++ 调用C#工程的 dll , 互相调用方法
很多时候在项目中需要通过C++调用C#的dll,或者反过来条用。 首先明白一个前提:C#是托管型代码。C++是非托管型代码。 托管型代码的对象在托管堆上分配内存,创建的对象由虚拟机托管。(C# )        非托管型代码对象有实际的内存地址,创建的对象必须自己来管理和释放。(C++) 两者详细区别阅读我的另一篇:托管代码和非托管代码的介绍,以及在这区别下的混合调试方法 1、C#调
C++写dll文件用C#调用
创建项目: 项目为win32项目,注意不是控制台,然后在设置处选上DLL并勾上“导出项目”,见下图 开始写c++: 把和项目同名的.h文件和.cpp文件清空,添加如下代码://在头文件中添加 #ifdef WIN32PROJECT1_EXPORTS #define WIN32PROJECT1_API __declspec(dllexport) #else #define WIN32PR
C语言生成DLL供C#调用
编写C程序如下: #include "stdio.h" __declspec(dllexport) void MyFun() {     printf("this is a dll\n"); }    保存,取名为My.C   运行 VS 命令提示,Cl /c  路径/My.c 运行以后会生成 My.Obj,默认在vs安装文件夹的VC目录下 再运行 link/dll
转载:QT编写DLL给外部程序调用,提供VC/C#/C调用示例(含事件)
https://www.cnblogs.com/feiyangqingyun/p/3720777.html
动态调用DLL函数有时正常,有时报Access violation的异常
__stdcall/__cdecal/__fastcall 定义导出函数的重要性
C# 如何调用VB6.0编写的dll
C# 如何调用VB6.0编写的dll
C#调用C++ DLL的完整方法(解决了各种坑,Win7下测试可用)
C#调用C++ DLL的完整方法(解决了各种坑,Win7下测试可用) 由于C#直接访问USB设备的能力较弱,而C++在这方面则强大许多。因此,考虑通过C++实现读写USB设备,C#调用该DLL接口的方式。这个过程中,上网查了一些资料,但是自己动手,仍然会出现这样或者那样的问题,因此,记录下大体步骤,以便后续他人或者自己可以参考。
在VS2015中用C++创建DLL并用C#调用且同时实现对DLL的调试
在VS2015中用C++创建DLL并用C++或C#调用且同时实现对DLL的调试
CSharp调用C++编写的DLL的方法
有的时候想写点东西,但由于文笔不行、技术不行也就没有怎么写。经常是用到什么、学习什么的时候,简单写点,权当是个学习笔记。上博客的次数也很少,有人给我留言也是没有怎么及时的回复,深感抱歉! 在一些特殊的行业,比如我从事的GIS、地质行业,大部分软件还是以C/S形式存在,软件大多是产品来销售。这些程序大部分是Cpp语言来编写,一方面是考虑到效率问题,另一方面可能是因为历史原因,创建者使用Cpp,后面
C# 调用C/C++ Dll(参数含char*指针,返回char*指针)
动态库: //MyPointDll.h extern"C" _declspec(dllexport) char* strcpyTest(char* dest,char* sour);
CSharp调用Matlab编译的dll
一、使用环境:Visual Studio 2010,Matlab7.11.0(R2010b),操作系统为64位,则对应的Matlab安装在Program Files文件夹下,而非Program Files(*86)。
VC++ 调用 C#生成DLL的两种方法
今年在C++调用对方用C#写的DLL时,遇到托管和非托管的问题。      原帖:      http://topic.csdn.net/u/20110916/12/fcf63501-45ef-46d9-92d1-6ffa91086a80.html      以及参考文章:       VisualC、Delphi或者VB等编程语言来编写的DLL文件,在编译完成以后,产生D
文章热词 C# C#学习 C#培训 C#视频教程 C#学习
相关热词 c#调用c++dll指针 c#调用c++dll导出类 c#调用c++dll文件 人工智能报班 报班学习python