C#里如何调用C的DLL里有指针类型的函数
int WINAPI CFISO15693_Inventory(WORD wDevID, BYTE *pData, BYTE *pLength);/******** 功能:CFISO15693_Inventory ***********************/
// 参数:wDevID:通讯设备标识符
// Pdata: 返回的数据,1字节DSFID+8字节UID
// pLength: Pdata长度
// 返回:成功则返回0
/*********************************************************/
这是C里头文件里的函数说明
我转换成C#如下:
申明:
[DllImport("CFDll.dll", EntryPoint = "CFISO15693_Inventory")]
public static extern int CFISO15693_Inventory(ushort wDevID, ref byte[] pData, ref byte pLength);
调用:
int cfIso15693_inventory;
byte[] dsfidUid = new byte[20];
ushort x = 0;
cfIso15693_inventory = CFISO15693_Inventory(x, ref dsfidUid, ref length);
结果出现异常
请问是不是参数的转换出现了问题.