作者cole945 (躂躂..)
看板C_Sharp
标题Re: [问题] C#使用vc++所写的api问题
时间Thu Jan 18 01:39:13 2007
※ 引述《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
1F:推 zxcv123123:感谢你~~我昨天试了第一个方法...现在成功了 01/18 12:08