参数传递不正确
class TApdu
{
//IC卡命令包结构
public:
unsigned char CLA;
unsigned char INS;
unsigned char P1;
unsigned char P2;
unsigned char Lc;
unsigned char Le;
unsigned char *DataBuffer;
unsigned char *SW;
TApdu();
void SetAPDU(unsigned char *pszBuffer,unsigned char *pszSW,unsigned char CmdBuffer[6]);
unsigned char ExecuteCommand(unsigned char uCardType);
};
//---------------------------------------------------------------------------
void TApdu::SetAPDU(unsigned char *pszBuffer,unsigned char *pszSW,unsigned char CmdBuffer[6])
{
CLA = CmdBuffer[0];
INS = CmdBuffer[1];
P1 = CmdBuffer[2];
P2 = CmdBuffer[3];
Lc = CmdBuffer[4];
Le = CmdBuffer[5];
DataBuffer = pszBuffer;
SW = pszSW;
}
在程序中对pszBuffer赋值后,调用SetAPDU函数时pszBuffer的值发生改变
无论是寄存器传递还是STACK传递还是_cdecl都不正确急死!!!!!!!