K
kylejiang
Unregistered / Unconfirmed
GUEST, unregistred user!
我正在学习用delphi进行IC卡应用编程,已经有一些接口提供了,可是都不是delphi的。不知道怎么样实现IC卡的读写操作,希望大家帮帮我吧。附上接口函数:
MCS_Request 函数搜索天线范围内是否有Mifare卡存在。
WORD MCS_Request(
BYTE _bMode,
WORD *_wTagType
);
*****************************
MCS_Anticoll 函数通过防碰撞机制,获得天线范围内的一张卡的卡号。
WORD MCS_Anticoll(
BYTE _bBcnt,
DWORD *_dwSnr
);
************************************
MCS_Select 函数选定天线范围内指定卡号的卡片。
WORD MCS_Select(
DWORD _dwSnr,
BYTE *_bSize
);
**********************************
MCS_Authentication 函数进行读写器控制模块与Mifare卡的认证。
在选定一张卡片后,进行读写操作之前应首先调用此函数进行认证。
WORD MCS_Authentication(
BYTE _bMode,
BYTE _bSecNr
);
要对卡片进行认证的扇区号,对于Mifare S50卡,其范围为(0 - 15),
MCS_Read 函数从卡片内的指定块地址读取一字符串。此函数受MCS_SetStringMode影响
************************************
WORD MCS_Read(
BYTE _bAdr,
BYTE *_bData
);
参数
_bAdr
要读取的块地址。对于Mifare S50卡,其范围为(0 - 63),对于Mifare L10卡,其范围为(0 - 11)。
_bData
字符型指针,指向从卡片存储区内读到的字符串并返回给应用程序。在HEXADECIMAL模式下,应用程序应确保在调用此函数前,已分配给_bData指针至少16个字节的空间;在ASCIISTRING模式下,应确保已分配给_bData指针至少32个字节的空间。
*******************************************
MCS_Write 函数向卡片内的指定块地址写入一字符串。 此函数受MCS_SetStringMode影响。
WORD MCS_Write(
BYTE _bAdr,
BYTE *_bData
);
参数
_bAdr
要写入的块地址。对于Mifare S50卡,其范围为(0 - 63),对于Mifare L10卡,其范围为(0 - 11)。
_bData
字符型指针,其内容为要写入到卡片内的字符串。在HEXADECIMAL模式下,应用程序应确保在调用此函数前,已分配给_bData指针至少16个字节的空间;在ASCIISTRING模式下,应确保已分配给_bData指针至少32个字节的空间。
************************************
MCS_Init_Value 函数将卡片内的指定块地址初始化为数值0。
WORD MCS_Init_Value(
BYTE _bAdr
);
参数
_bAdr
要初始化的块地址。对于Mifare S50卡,其范围为(0 - 63),对于Mifare L10卡,其范围为(4 - 5)。
**************************************
MCS_Read_Value 函数从卡片内的指定块地址读取一数值。
WORD MCS_Read_Value(
BYTE _bAdr,
long *_lValue
);
参数
_bAdr
要读取的块地址。对于Mifare S50卡,其范围为(0 - 63),对于Mifare L10卡,其范围为(4 - 5)。
_lValue
长整数型指针,其内容为从卡片内读取到的数值。
*************************************************
1)请问一张新卡是怎么生成的啊,要先经过那些步骤呢?
2)如果仅仅是往卡里写入userID 和 用户名 ,怎么写入啊?
MCS_Request 函数搜索天线范围内是否有Mifare卡存在。
WORD MCS_Request(
BYTE _bMode,
WORD *_wTagType
);
*****************************
MCS_Anticoll 函数通过防碰撞机制,获得天线范围内的一张卡的卡号。
WORD MCS_Anticoll(
BYTE _bBcnt,
DWORD *_dwSnr
);
************************************
MCS_Select 函数选定天线范围内指定卡号的卡片。
WORD MCS_Select(
DWORD _dwSnr,
BYTE *_bSize
);
**********************************
MCS_Authentication 函数进行读写器控制模块与Mifare卡的认证。
在选定一张卡片后,进行读写操作之前应首先调用此函数进行认证。
WORD MCS_Authentication(
BYTE _bMode,
BYTE _bSecNr
);
要对卡片进行认证的扇区号,对于Mifare S50卡,其范围为(0 - 15),
MCS_Read 函数从卡片内的指定块地址读取一字符串。此函数受MCS_SetStringMode影响
************************************
WORD MCS_Read(
BYTE _bAdr,
BYTE *_bData
);
参数
_bAdr
要读取的块地址。对于Mifare S50卡,其范围为(0 - 63),对于Mifare L10卡,其范围为(0 - 11)。
_bData
字符型指针,指向从卡片存储区内读到的字符串并返回给应用程序。在HEXADECIMAL模式下,应用程序应确保在调用此函数前,已分配给_bData指针至少16个字节的空间;在ASCIISTRING模式下,应确保已分配给_bData指针至少32个字节的空间。
*******************************************
MCS_Write 函数向卡片内的指定块地址写入一字符串。 此函数受MCS_SetStringMode影响。
WORD MCS_Write(
BYTE _bAdr,
BYTE *_bData
);
参数
_bAdr
要写入的块地址。对于Mifare S50卡,其范围为(0 - 63),对于Mifare L10卡,其范围为(0 - 11)。
_bData
字符型指针,其内容为要写入到卡片内的字符串。在HEXADECIMAL模式下,应用程序应确保在调用此函数前,已分配给_bData指针至少16个字节的空间;在ASCIISTRING模式下,应确保已分配给_bData指针至少32个字节的空间。
************************************
MCS_Init_Value 函数将卡片内的指定块地址初始化为数值0。
WORD MCS_Init_Value(
BYTE _bAdr
);
参数
_bAdr
要初始化的块地址。对于Mifare S50卡,其范围为(0 - 63),对于Mifare L10卡,其范围为(4 - 5)。
**************************************
MCS_Read_Value 函数从卡片内的指定块地址读取一数值。
WORD MCS_Read_Value(
BYTE _bAdr,
long *_lValue
);
参数
_bAdr
要读取的块地址。对于Mifare S50卡,其范围为(0 - 63),对于Mifare L10卡,其范围为(4 - 5)。
_lValue
长整数型指针,其内容为从卡片内读取到的数值。
*************************************************
1)请问一张新卡是怎么生成的啊,要先经过那些步骤呢?
2)如果仅仅是往卡里写入userID 和 用户名 ,怎么写入啊?