C#调用C++DLL 使用 德卡 读卡器 获取身份证信息

本文记录了如何在C#项目中使用C++ DLL与德卡读卡器交互,通过类型转换如string到IntPtr,封装接口以简化未来项目使用。涉及的函数包括建立项目IDCard和获取身份证信息。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

公司一个项目用到了德卡读卡器的设备,想在原有厂商给的C++ DLL的基础上再做一层封装,方便以后项目的使用,拿来DLL和接口文档就开干了。

在这里记录下,也分享给之后或许有需要的朋友。

要注意的类型转换:

将string转为IntPtr:IntPtr System.Runtime.InteropServices.Marshal.StringToCoTaskMemAuto(string)

将IntPtr转为string:string System.Runtime.InteropServices.MarshalPtrToStringAuto(IntPtr)

类型对照:

BSTR ---------  StringBuilder

LPCTSTR --------- StringBuilder

LPCWSTR ---------  IntPtr

handle---------IntPtr

hwnd-----------IntPtr

char *----------string

int * -----------ref int

int &-----------ref int

void *----------IntPtr

unsigned char *-----ref byte

厂家的文档中有关身份证操作的函数分别是:

读明文按键函数

short USER_API dc_find_i_d(HANDLE icdev);

获取身份证操作句柄函数

HANDLE USER_API dc_start_i_d(HANDLE icdev);

获
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值