动态库OUR_IDR.dll是用VC6.0++开发,编译成Release的实体,适用于Windows环境调用。
本动态库是我公司USB接口通用ID卡读卡器的配套文件,必须和配套的读卡器一起使用。读卡器使用的是HID人体学输入设备USB模式,即插即用,可在Win2000、XP、2003、Win7、Win8、win10、win11下使用,更可以在嵌入式系统WinCE下使用,但在WinCE下不是用OUR_IDR.dll动态库,本公司另外提供,如有需要请查看其他文档。
推荐用动态调用的方法使用本动态库。
一、让读卡器发出声音
函数名:idr_beep
功能
|
让读卡器发出声响。(暂不开放对指示灯的控制,如果有特殊要求请致电本公司)
|
原始声明
|
unsigned
char __stdcall idr_beep (unsigned long xms)
|
输入
|
xms为响声的时间长度,单位为2毫秒
|
返回
|
返回unsigned char值。
|
返
回
值
说
明
|
0
|
操作成功。
|
22
|
动态库或驱动程序异常,解决方法是退出程序,拔出ID卡读卡器,重装驱动程序再插上ID卡读卡器重试,或者重新拷贝动态库OUR_IDR.dll到正确的位置。
|
24
|
操作超时。可能是电脑中毒导致USB帧传递调度缓慢,或者是ID卡读卡器有问题,解决方法是重启电脑或重新拔插ID卡读卡器。
|
27
|
USB传输不稳定导致传输的字符不全。不需理会这个错误,因为基本上是不会出现这个错误的。
|
28
|
USB传输不稳定导致CRC校验错。不需理会这个错误,因为基本上是不会出现这个错误的。
|
其他
|
未知错误
|
例子及注释
|
请要本公司网站下载各种开发工具的例子源代码,本函数的声明和输入参数格式可以直接套用,谢谢使用
|
二、读卡并返回卡的全部五个字节信息(ID卡厂商信息和卡序列号)
函数名:idr_read
功能
|
寻卡并返回该卡的序列号,如果卡在感应区,每次执行均返回卡号
|
原始声明
|
unsigned
char __stdcall idr_read (unsigned char *serial)
|
输入
|
形参*serial只需指向一个至少已分配了5个char空间的可写数组 unsigned char *指针, serial的下标由0开始。Serial数组的内容无需赋值,因为此数组仅用于返回值。
|
返回
|
返回unsigned char值,并将寻到的卡的序列号传值到*serial数组。
|
返
回
值
说
明
|
0
|
操作成功,*serial数组中的数据有效。
|
8
|
寻卡错误,根本就没有卡在感应区,*serial无效。
|
22
|
动态库或驱动程序异常,解决方法是退出程序,拔出ID卡读卡器,重装驱动程序再插上ID卡读卡器重试,或者重新拷贝动态库OUR_IDR.dll到正确的位置。
|
24
|
操作超时。可能是电脑中毒导致USB帧传递调度缓慢,或者是ID卡读卡器有问题,解决方法是重启电脑或重新拔插ID卡读卡器。
|
28
|
USB传输不稳定导致CRC校验错。不需理会这个错误,因为基本上是不会出现这个错误的。
|
其他
|
未知错误
|
例子及注释
|
|
函数名:idr_read_8h10d_str
功能
|
寻卡并返回该卡的序列号,以字符串方式返回十位十进制卡号
|
原始声明
|
LPCSTR
__stdcall idr_read_8h10d_str(void)
|
输入
|
无
|
返回
|
返回LPCSTR值,。
|
返
回
值
说
明
|
10位卡号
|
操作成功返回十位卡号字符串
|
ER08
|
寻卡错误,根本就没有卡在感应区,*serial无效。
|
|
|
ER22
|
动态库或驱动程序异常,解决方法是退出程序,拔出ID卡读卡器,重装驱动程序再插上ID卡读卡器重试,或者重新拷贝动态库OUR_IDR.dll到正确的位置。
|
ER24
|
操作超时。可能是电脑中毒导致USB帧传递调度缓慢,或者是ID卡读卡器有问题,解决方法是重启电脑或重新拔插ID卡读卡器。
|
ER28
|
USB传输不稳定导致CRC校验错。不需理会这个错误,因为基本上是不会出现这个错误的。
|
其他
|
未知错误
|
例子及注释
|
|
三、读卡并返回卡的全部五个字节信息(ID卡厂商信息和卡序列号)
函数名:idr_read_once
功能
|
寻卡并返回该卡的序列号,如果卡在感应区,第一次执行返回卡号,再次执行提示寻不到卡,必须拿开卡隔一时间段再放到感应区,才能读卡成功。这种功能是用于刷卡一次卡仅返回一次卡号的情况。
|
原始声明
|
unsigned
char __stdcall idr_read_ once (unsigned char *serial)
|
输入
|
形参*serial只需指向一个至少已分配了5个char空间的可写数组 unsigned char *指针, serial的下标由0开始。Serial数组的内容无需赋值,因为此数组仅用于返回值。
|
返回
|
返回unsigned char值,并将寻到的卡的序列号传值到*serial数组。
|
返
回
值
说
明
|
0
|
操作成功,*serial数组中的数据有效。
|
8
|
寻卡错误,根本就没有卡在感应区,*serial无效。
|
22
|
动态库或驱动程序异常,解决方法是退出程序,拔出ID卡读卡器,重装驱动程序再插上ID卡读卡器重试,或者重新拷贝动态库OUR_IDR.dll到正确的位置。
|
24
|
操作超时。可能是电脑中毒导致USB帧传递调度缓慢,或者是ID卡读卡器有问题,解决方法是重启电脑或重新拔插ID卡读卡器。
|
28
|
USB传输不稳定导致CRC校验错。不需理会这个错误,因为基本上是不会出现这个错误的。
|
其他
|
未知错误
|
例子及注释
|
|
函数名:idr_read_once_8h10d_str
功能
|
寻卡并返回该卡的序列号,以字符串方式返回十位十进制卡号
|
原始声明
|
LPCSTR
__stdcall idr_read_ once_8h10d_str(void)
|
输入
|
无
|
返回
|
返回LPCSTR值,。
|
返
回
值
说
明
|
10位卡号
|
操作成功返回十位卡号字符串
|
ER08
|
寻卡错误,根本就没有卡在感应区,*serial无效。
|
|
|
ER22
|
动态库或驱动程序异常,解决方法是退出程序,拔出ID卡读卡器,重装驱动程序再插上ID卡读卡器重试,或者重新拷贝动态库OUR_IDR.dll到正确的位置。
|
ER24
|
操作超时。可能是电脑中毒导致USB帧传递调度缓慢,或者是ID卡读卡器有问题,解决方法是重启电脑或重新拔插ID卡读卡器。
|
ER28
|
USB传输不稳定导致CRC校验错。不需理会这个错误,因为基本上是不会出现这个错误的。
|
其他
|
未知错误
|
例子及注释
|
|
四、读出读卡器各自编码唯一的设备号
函数名:pcdgetdevicenumber
功能
|
读出读卡器各自编码唯一的设备号,此设备号可用于软件的产权保护,功能跟软件加密码类似。
|
原始声明
|
unsigned
char __stdcall pcdgetdevicenumber(unsigned char *devicenumber);
|
输入
|
形参* devicenumber只需指向一个至少已分配了4个char空间的可写数组 unsigned char *指针,devicenumber的下标由0开始。devicenumber数组的内容无需赋值,因为此数组仅用于返回值。
|
返回
|
返回unsigned char值,并将寻到的卡的序列号传值到* devicenumber数组。
|
返
回
值
说
明
|
0
|
操作成功,* devicenumber数组中的数据有效。
|
22
|
动态库或驱动程序异常,解决方法是退出程序,拔出ID卡读卡器,重装驱动程序再插上ID卡读卡器重试,或者重新拷贝动态库OUR_IDR.dll到正确的位置。
|
24
|
操作超时。可能是电脑中毒导致USB帧传递调度缓慢,或者是ID卡读卡器有问题,解决方法是重启电脑或重新拔插ID卡读卡器。
|
28
|
USB传输不稳定导致CRC校验错。不需理会这个错误,因为基本上是不会出现这个错误的。
|
其他
|
未知错误
|
例子及注释
|
|
函数名:pcdgetdevicenumber_str
功能
|
读出读卡器各自编码唯一的设备号,此设备号可用于软件的产权保护,功能跟软件加密码类似。
|
原始声明
|
LPCSTR
__stdcall pcdgetdevicenumber_str(void)
|
返回
|
返回 LPCSTR 字符串
|
返
回
值
说
明
|
10位设备号
|
操作成功,返回10位设备号。
|
ER22
|
动态库或驱动程序异常,解决方法是退出程序,拔出ID卡读卡器,重装驱动程序再插上ID卡读卡器重试,或者重新拷贝动态库OUR_IDR.dll到正确的位置。
|
ER 24
|
操作超时。可能是电脑中毒导致USB帧传递调度缓慢,或者是ID卡读卡器有问题,解决方法是重启电脑或重新拔插ID卡读卡器。
|
ER 28
|
USB传输不稳定导致CRC校验错。不需理会这个错误,因为基本上是不会出现这个错误的。
|
其他
|
未知错误
|
例子及注释
|
|
注:原始声明指动态库的VC源码内的声明。
|