作者zxcv123123 (讨厌在家里)
看板C_Sharp
标题[问题] C#调用C++所写的API的问题 unsigned char*
时间Fri Jan 26 12:08:22 2007
DWORD WINAPI RFID_ProgramTags
(HANDLE b, unsigned char *pTagID, unsigned char a, unsigned char c,
unsigned char d, unsigned char e);
这是在C++那边所宣告的型态
我这C# 这边宣告
[DllImport("RFIDAPI32PC.dll")]
unsafe public static extern uint RFID_ProgramTags
(IntPtr hReader, byte* pTagID, byte a, byte c, byte d, byte e);
我是这样宣告的
然後我在使用的时候 是这样用的
byte ptagID[]={1,2,3,4,5,6,7,8};
byte a,c,d,e;
Intptr hReader;
unsafe
{
fixed(byte* a=ptagID) RFID_ProgramTags(hReader, p, a,c, d, e);
}
我在C# 是这样使用的~~~其他的参数因该都没问题!因为别的函数我都使用过
就这个函数多了个这种unsigned char *pTagID 这种型态
实在不知道怎麽丢 compile 会过~~但是结果都不对....
我有c++的范例~范例那边是这样用的
unsigned char *pTagID;
unsigned char a=8,b=3,c=3,d=3;
pTagID = "\x01\x02\x03\x04\x05\x06\x07\x08";
RFID_ProgramTags(hRFIDReader, pTagID, a, b, c, d);
以上是在C++上所使用的范例
我想要在C#使用....不知道哪边有错!
请各位大大帮帮我吧...感谢
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 220.132.168.81