DllImport紧急求救---在线等
各位大侠,帮小弟一个忙吧,着急呀,我现在作软件和硬件接口那呢,现在的困难是我们买了一个 IC卡读卡器,厂商给我们提供了一个 Dll库,一个文档,我现在要调用 Dll库中的一个函数,文档中是这样说明这个函数的
/*
功能:查询是否有卡在天线区
参数:nMode:查询方式 缺省可以置 0;系统自动以QUERY_ALL方式查询
0x52 为QUERY_ALL;
0x26 为QUERY_IDLE
pszData:接收数据缓冲,格式:第一个字节为状态
其后的字节为卡类型 0x01 Mifare Light 0x04 Mifare Ultra Light
0x08 Mifare Standard S50 0x10 Mifare Plus S70
后面两个字节为卡片的ATQ
后面的四个字节为查到的卡号
如果没有查到卡则只有状态位
返回:返回的数据长度,如果为0xFE、0xFF则表示通讯失败
*/
unsigned char WINAPI QueryRFCard(HANDLE handlePort,unsigned char nMode,unsigned char *pszData);
我在C#里声明这个函数的时候是这样写的
/// <summary>
/// 功能:查询是否有卡在天线区
/// </summary>
/// <param name= "handlePort "> HANDLE handlePort 逻辑通道号 </param>
/// <param name= "nMode "> unsigned char nMode:查询方式 缺省可以置 0;系统自动以QUERY_ALL方式查询 ::::0x52 为QUERY_ALL;0x26 为QUERY_IDLE </param>
/// <param name= "pszData "> unsigned char *pszData:接收数据缓冲,格式:第一个字节为状态
/// 其后的字节为卡类型 0x01 Mifare Light 0x04 Mifare Ultra Light
/// 0x08 Mifare Standard S50 0x10 Mifare Plus S70
/// 后面两个字节为卡片的ATQ
/// 后面的四个字节为查到的卡号
/// 如果没有查到卡则只有状态位 </param>
/// <returns> 返回类型为unsigned char 返回: 返回的数据长度,如果为0xFE、0xFF则表示通讯失败 </returns>
[DllImport( "JzCard.dll " ,EntryPoint= "QueryRFCard ", CallingConvention=CallingConvention.Winapi)]
public static extern int QueryRFCard(long handlePort, uint nMode, [MarshalAs(UnmanagedType.LPStr)]string pszData);
结果运行的时候报这个错误
对 PInvoke