公司一个项目用到了德卡读卡器的设备,想在原有厂商给的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);
获