卡斯卡包装器
casmcard wrapper
我有一个智能卡,用C++写的简单sdk(casmcard.dll(。
我需要通过托管代码 (C#( 在上面的 dll 中调用一些方法,专门用于读取和写入某些特定的块或扇区。
未找到卡斯卡.dll包装器。
有什么想法吗?
听起来你需要深入研究互操作。如果它是一个 COM 对象,则可以导入它并让 .net 为你创建包装器。如果是老式的dll函数,那么您只需要导入它们。
Interop 有点黑艺术,所以你需要在映射和编组类型上搜索一下。
编辑
所以你的函数看起来像?
CasCLGetSN( IN SCARDHANDLE hCard, OUT LPBYTE pbCSNBuffer, IN DWORD cbCSNBufferSize, OUT LPDWORD pcbCSNLength )
试试这个:
CasCLGetSN(ScardHandle hCard, out IntPtr pbCSNBuffer, UInt32 cbCSNBufferSize, out UInt32 pcbCSNLength)
然后,您需要使用重载Marshal.Copy()
来获取 pbCSNBuffer 的内容。还要检查 scardHandle 的定义是什么。如果它是一个结构,则声明它并向其添加 Sequential
属性。
相关文章:
- C++:试图通过组合和帕斯卡三角形来理解constexpr
- 如何在C++的帕斯卡三角形中打印曲棍球棒的元素?
- CUDA - 统一内存(至少是帕斯卡)
- 从功能返回本地卡斯施说指针
- 找到一个数字平方和是质数(帕斯卡或C++)的数字
- C++ 克鲁斯卡尔算法的实现
- 克鲁斯卡尔的算法解释
- 克鲁斯卡尔算法用矢量转换
- 有人知道一个模仿帕斯卡"range array"的类吗?
- 找到第1500行帕斯卡三角形中的每个数字
- 需要使用帕斯卡三角形 (x+y) 打印二项式系数
- C++ 如何实现双倍权重(而不是整数)的克鲁斯卡尔定理
- 试图解决卡蒂斯任务"Coast" - 无法弄清楚为什么我有点不对劲
- 克鲁斯卡尔算法代码因未知原因而崩溃
- 帕斯卡三角形程序 C++ 上的间距
- 卡斯卡包装器
- 克鲁斯卡尔的算法实现
- 为什么我在计算帕斯卡三角形元素时在递归 C 程序中出现堆栈溢出错误
- 卡斯特尔雅乌算法 - 实际示例
- 用卢卡斯-莱默迭代法求梅森数