C#怎么调用winscard.dll API - C#当前位置:& &&&C#怎么调用winscard.dll APIC#怎么调用winscard.dll API&&网友分享于:&&浏览:274次C#如何调用winscard.dll API第一次上来发贴问问题?望大侠赐教!!!!
[DllImport( &winscard.dll &, & CharSet & = & CharSet.Auto)]
public & static & extern & long & SCardEstablishContext(int & dwScope, & IntPtr & pvReserved1, & IntPtr & pvReserved2, & UIntPtr & phContext);
然后调用SCardEstablishContext(。。。) & SCardListReaders(。。。)
为什么long & ret & = & ReadCard.Reader.SCardEstablishContext(0, & IntPtr.Zero, & IntPtr.Zero, & UIntPtr.Zero);
返回0x & 就是参数无法解释的错误代码?------解决方案--------------------给出SCardEstablishContext 的原型
可能是你的参数定义或给错了
12345678910
12345678910
12345678910 上一篇:下一篇:文章评论相关解决方案 12345678910 Copyright & &&版权所有您的位置: >
> winscard.dll
winscard.dll
软件大小:71K
软件语言:简体中文
软件类型:国产软件
软件授权:免费软件
更新时间:
软件类别:DLL\EXE
软件官网:
应用平台:Windows7, WinVista, Win2003, WinXP, Win2000
网友评分:7.7分
winscard.dll是存放在windows系统中的一个重要的dll文件,缺少它可能会造成部分软件或游戏不能正常运行。当你的电脑弹出提示“丢失winscard.dll”或者“没有找到winscard.dll”等错误信息,请下载小编为你提供的dll文件,使用它可以帮助您解决上述问题。dll文件修复方法:1、解压缩下载的文件。2、复制文件“winscard.dll”到系统目录下。3、系统目录一般为:C:\WINNT\System32 64位系统为C:\Windows\SysWOW64。4、最后点击开始菜单--&运行--&输入regsvr32 winscard.dll后,回车即可解决错误提示。
winscard.dll
高速下载通道
其它下载地址
感谢您对多多软件的信任,请把这份信任分享给您的朋友!
您的评论需要经过审核才能显示!
软件排行榜
16M / 简体中文 /7.5分
498K / 简体中文 /6分
310K / 简体中文 /10分
13K / 简体中文 /7.5分
30K / 简体中文 /6分
8.38M / 简体中文 /6.7分
345K / 简体中文 /6分
1.24M / 简体中文 /8分
36K / 简体中文 /7.5分
104K / 简体中文 /6分
Copyright (C)
. All rights reserved.&&&&jna调用dll的例子,包含dll文件和详细说明
jna调用dll的例子,包含dll文件和详细说明
利用jna完成对c生成的dll文件进行调用。例子中包含dll文件。和对dll文件方法的调用。有注释说明
若举报审核通过,可奖励20下载分
被举报人:
举报的资源分:
请选择类型
资源无法下载
资源无法使用
标题与实际内容不符
含有危害国家安全内容
含有反动***等内容
含广告内容
版权问题,侵犯个人或公司的版权
*详细原因:
VIP下载&&免积分60元/年(1200次)
您可能还需要
开发技术下载排行spring(3)
&java.lang.UnsatisfiedLinkError:&Can¬&load&XXX&library&...&JNA不能加载DLL动态库问题
1, 版本问题。
版本一定要对应。
64位系统,对应64的jdk或者jre,同时对应动态库也需要64位的。
32位也是如此对应。
如果机器上装了两套jre或jdk,&例如同时装了32和64的jre,&需要将本机运行的jre设定为64的版本,具体为控制面板的java&控制台中设置对应的java版本。
&点击Java,查看,进行查找和添加等操作。确保64位的启用。
2,路径问题。
1:使用JNA&加载dll你首先需要下载JNA.jar,这个jar文件可以在sun官网下载到。
2:dllName这个地方只能是dll的名字,不能加&.dll&这个是为了跨平台。
&使用JNA通常会遇到不能加载的问题,这一般是应为dll文件没有放在正确的位置导致的。
路径可以设置为绝对路径或相对路径。
绝对路径:
TestDll1 INSTANCE = (TestDll1)Native.loadLibrary(&D:\\test\\TestDll1&, TestDll1.class);
然后DLL放到D盘下面test文件夹下。
相对路径:
在web服务中,可以放到WEB-INF下res文件夹下
String realPath = ContextLoader.getCurrentWebApplicationContext().getServletContext().getRealPath(&WEB-INF/res/TestDll1.dll&);
String path =realPath.substring(0,realPath.length()-4);
TestDll1 INSTANCE = (TestDll1)Native.loadLibrary( path, TestDll1.class);
&PS:跨平台的写法
通常我们在使用JNA的时候会使用下面的方式(假设DLL名为helloDll.dll)
interface HelloDll extends Library {
TestDll1 INSTANCE = (TestDll1 )Native.loadLibrary(&driver/TestDll1 &, TestDll1 .class);
public void hello();
1.&在这种情况下,我们需要将TestDll1&这个文件拷贝到driver目录下。
2.&同时为了跨平台,相对路径应该这么写:
&driver&&+&File.separator&+&&TestDll1&&
3.&另外,如果TestDll1&.dll依赖其他包的话,也要将包拷贝到driver目录下或是系统路径。查看dll依赖关系的工具很多,google一下就行了。
经过上述步骤,基本可以解决,如果还不行,参考如下步骤:
&1:dll文件要放到项目路径下;
&&2:把dll文件放到库文件路径下,执行这句代码&System.out.println(System.getProperty(&java.library.path&));
&&&&&&&然后把dll文件copy到任意一个路径下
& 3:dll名字好像不能带有“_”(这个是我自己遇到的一个问题,仅供参考)
注意到这三点基本可以解决使用JNA加载C++,Delphi,C的dll的所有问题了。
.cn/s/blog_b7c09bc00101d2sk.html
http://blog.csdn.net/zhhniyniy/article/details/7968752
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:9294次
排名:千里之外
原创:14篇
转载:23篇
(2)(3)(3)(1)(1)(5)(18)(1)(2)(1)(1)本帖子已过去太久远了,不再提供回复功能。