YW_MFP_SwitchToLevel
Mifare Plus卡从Level1或Level2向高级切换

参数列表:

int stdcall YW_MFP_SwitchToLevel(

int ReaderID, 

int DesLevel,

unsigned char *SwitchKey

);


参数含义:

参数

类型

方向

含义

ReaderID

int

IN

所要获取的设备标示ID,范围0x0000-0xFFFF,如果未知,则ReaderID=0

DesLevel

unsigned char

IN

要切换到的层级,最高3级

  0x02-> 从当前层级切换到Level2

  0x03-> 从当前层级切换到Level3

注意:只能从低层级切换到高层级,不可逆。

SwitchKey

unsigned char*

IN

切换AES密钥,16字节

若切换到Level2,用Switch Key2

若切换到Level3,用Switch Key3

返 回 值:大于0为命令发送成功,小于0为命令发送失败


C++声明(VC++和C++ Builder):

int stdcall YW_MFP_SwitchToLevel(int ReaderID, int DesLevel,unsigned char *SwitchKey);


Delphi声明:

function YW_MFP_SwitchToLevel( ReaderID: Integer; DesLevel: Integer; SwitchKey: PChar): Integer;stdcall;external YOWOREADERDLL;


VB声明:

Public Declare Function YW_MFP_SwitchToLevel Lib "YW60x.dll" (ByVal ReaderID As Long, ByVal DesLevel As Long, ByRef SwitchKey As Byte) As Long


JAVA声明:

public int YW_MFP_SwitchToLevel(int ReaderID, int DesLevel,Pointer SwitchKey)

{

int ret;

try

{

JNative fuc = new JNative("YW60x.dll", "YW_MFP_SwitchToLevel");

fuc.setRetVal(Type.INT);

fuc.setParameter(0, ReaderID);

fuc.setParameter(1, DesLevel);

fuc.setParameter(2, SwitchKey);

fuc.invoke();

ret = fuc.getRetValAsInt();

}

catch(NativeException e)

{

ret = -1;

}

catch(IllegalAccessException e)

{

ret = -2;

}

return ret;

}


C#声明:

[DllImport("YW60x.dll")]

public static extern int YW_MFP_SwitchToLevel(int ReaderID, int DesLevel,byte [] SwitchKey);


Power Builder 9 声明:

public FUNCTION long YW_MFP_SwitchToLevel (long lReaderID , long DesLevel , ref char SwitchKey[]) library "YW60x.dll"


支持的RFID读写器:
YW-605RA, YW-605RB, YW-605RC, YW-605SA, YW-605SB, YW-605SC, YW-605UA, YW-605UB, YW-605UC, YW-605HA, YW-605HB, YW-605HC, YW-620HA, YW-620HB, YW-620HC, YW-608RA, YW-608RB, YW-608RC, YW-608SA, YW-608SB, YW-608SC, YW-608UA, YW-608UB, YW-608UC, YW-608HA, YW-608HB, YW-608HC, YW-610SA, YW-610SB, YW-610SC, YW-607