动态库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源码内的声明。 
 
	 
  |