关于c#调用动态链接库DLL的参数设置

问题描述

libeay32.dll-------------------------------------------函数原型:voidAES_decrypt(constunsignedchar*in,unsignedchar*out,constAES_KEY*key)AES_KEY:structaes_key_st{#ifdefAES_LONGunsignedlongrd_key[4*(AES_MAXNR+1)];#elseunsignedintrd_key[4*(AES_MAXNR+1)];#endifintrounds;};typedefstructaes_key_stAES_KEY;-----------------------------------------------C#代码[DllImport("libeay32.dll",CharSet=CharSet.Unicode)]publicstaticexternintAES_decrypt(stringinStr,stringoutStr,AESKEYpassword);//这里是错误的这应该要怎么声明啊?

时间: 2024-11-05 21:56:17

关于c#调用动态链接库DLL的参数设置的相关文章

JAVA调用动态链接库DLL之JNative学习

JAVA调用动态链接库DLL的方法有:JNI(Java Native Interface),JInvoke,JNative(Java to native interface),JNI是JAVA自身提供的方法:JInvoke从何而来不得而知,好像还需要注册付费的,64位的JDK.JIR环境下运行不了,在VMware下安装的WindowsXP下同样有问题:JNative是开源的,但相关资料文档也特别的少,好像已经停止更新了.JNative源码地址:http://jnative.cvs.sourcef

JAVA调用动态链接库DLL:JNative学习

JAVA调用动态链接库DLL的方法有:JNI(Java Native Interface),JInvoke,JNative(Java to native interface),JNI是JAVA自身提供的方法:JInvoke从何而来不得而知,好像还需要注册付费的,64位的JDK.JIR环境下运行不了,在VMware下安装的WindowsXP下同样有问题:JNative是开源的,但相关资料文档也特别的少,好像已经停止更新了.JNative源码地址:http://jnative.cvs.sourcef

c++-C++/MFC调用动态链接库DLL

问题描述 C++/MFC调用动态链接库DLL 我用MFC制作了一个DLL动态链接库,然后用另外一个MFC程序区调用它,但是没有效果.其程序如下: 制作一个MFC生成DLL程序,改DLL内部封装了一个函数.如下(.cpp文件): int sum(int a,int b) { char temp[200]; itoa((a+b),temp,10); CString c; c=temp; MessageBox(NULL,c,"提示",0); return a+b; } 调用DLL的代码为:

C#调用VC DLL 输出参数 急!!!

问题描述 被调dll函数ykt_readopencardno_local(char*pRegion,char*pDeptid,char*pDeptKey,char*pCardtype,char*pCardno,char*pWarnmsg,char*pErrmsg);C#调用代码:[DllImport("kernel32.dll")]privateexternstaticIntPtrLoadLibrary(Stringpath);[DllImport("kernel32.dll

C#调用C++DLL时参数该如何对应

问题描述 如题,原来的程序是用C++编写的,加载了DLL调用如下(可知DLL中的函数名和参数)typedefint(*pGetSubEngineID)(char*modelName,int*sID,double*sModelStepSize);typedefint(*pGetBaseStepSize)(double*StepSize);typedefint(*pInitDataBus)();typedefint(*pReleaseDataBus)();typedefint(*pSimDataWr

C#调用C++dll传入参数后位数丢失

问题描述 publicstructRequest{[MarshalAs(UnmanagedType.ByValTStr,SizeConst=12)]publicstringTransAmount;}SPOS.Requestres=newSPOS.Request();res.TransAmount="000000000012";intret=SPOS.MapService(refres);代码中定义了TransAmount为12位,传入的也是12位,但是跟踪发现,最后调用MapServi

c#-请问如何实现C#调用C++ dll动态链接库

问题描述 请问如何实现C#调用C++ dll动态链接库 通过C# 调用 C++ 的JNetLogin方法: 下面是C#的调用方法,但是一直报错,可能是参数的问题.请问如何修改下面的代码,谢谢! [DllImport("JNetSDK.dll")] public static extern long JNetLogin(string lpszIP, int iDevPort, string lpszUser, string lpszPassword, int iTimeOut, fcbJ

VS2010编写动态链接库DLL及单元测试用例,调用DLL测试正确性

本文将创建一个简单的动态链接库,并编写一个控制台应用程序使用该动态链接库,该动态链接库为"JAVA调用动态链接库DLL之JNative学习"中使用的DLL,只是项目及文件名称不同. 创建动态链接库项目:1.打开Microsoft Visual Studio 2010,选择文件->新建->项目. 2.在新建项目窗口中选择其他语言->Visual C++->Win32. 3.选择Win32 项目,设置名称:simpleDLL,设置解决方案名:simpleDLL.4.

ASP.NET/C#中如何调用动态链接库DLL_实用技巧

动态链接库(也称为DLL,即为"Dynamic Link Library"的缩写)是Microsoft Windows最重要的组成要素之一,打开Windows系统文件夹,你会发现文件夹中有很多DLL文件,Windows就是将一些主要的系统功能以DLL模块的形式实现. 动态链接库是不能直接执行的,也不能接收消息,它只是一个独立的文件,其中包含能被程序或其它DLL调用来完成一定操作的函数(方法.注:C#中一般称为"方法"),但这些函数不是执行程序本身的一部分,而是根据进