我需要在dll中调用方法
DWORD PLIC_API RFPerso_GetMifare1KData(BYTE* pbUid,
DWORD dwUidLength,
RFPERSO_GEN_MIF_STD_DATA* pRFMifData, //Its a structure
DWORD* pdwLicCount);
C#中的等效含义是什么。我在c#端使用以下方法,但是出现参数不匹配错误。
[DllImport("NercoPic.dll", CallingConvention = CallingConvention.Cdecl)]
public static extern uint RFPerso_GetMifare1KData( byte[] pbUid,
uint dwUidLength,
ref RFPERSO_GEN_MIF_STD_DATA pRFMifData,
ref uint pdwLicCount);
我在这里做错了什么?
编辑:呼叫代码
string uid = "DEDE";
byte[] uidArray= Encoding.ASCII.GetBytes(uid);
AA.RFPERSO_GEN_MIF_STD_DATA data = new AA.RFPERSO_GEN_MIF_STD_DATA (
0, 0, new AA.RFPERSO_GEN_MIF_BLOCK[4]
{
new AA.RFPERSO_GEN_MIF_BLOCK(default(byte),default(byte),default(byte),new byte[16]),
new AA.RFPERSO_GEN_MIF_BLOCK(default(byte),default(byte),default(byte),new byte[16]),
new AA.RFPERSO_GEN_MIF_BLOCK(default(byte),default(byte),default(byte),new byte[16]),
new AA.RFPERSO_GEN_MIF_BLOCK(default(byte),default(byte),default(byte),new byte[16]) }
) ;
uint licCount=0;
i = AA.RFPerso_GetMifare1KData( uidArray, 4, ref data,ref licCount);