Re: [問題] C#使用vc++所寫的api問題
※ 引述《zxcv123123 (討厭在家裡)》之銘言:
: [DllImport("RFIDAPI32PC.dll")]
: unsafe public static extern uint A
: (IntPtr hReader, uint dwCapId, uint* pdwNumItems,
: uint dwValueBufSize, Intptr pvValueBuf);
如果 pvValueBuf 只是作 pointer to string 用,
應可宣告成 String 就好~
.NET 會自己處理轉型的問題~
[DllImport("RFIDAPI32PC.dll")]
unsafe public static extern uint A (
IntPtr hReader, uint dwCapId, uint* pdwNumItems,
uint dwValueBufSize, String pvValueBuf);
呼叫時用 A( ....., "192.168.0.11" ); 就可以了~
不然用
IntPtr p = Marshal.StringToHGlobalAnsi("192.168.0.11");
A( ..., p); // 呼叫 A
Marshal.FreeHGlobal( p ); // 由 caller 釋放
--
試試這兩個方法吧~
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 220.139.151.218
推
01/18 12:08, , 1F
01/18 12:08, 1F
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 2 篇):