我的方法有IntPtr
作为参数。现在我有一个字符串“EXT101”,我需要将其作为参数传递给函数参数。以下是我的功能和我尝试过但它不起作用。
unsafe private static extern int lineDevSpecific(IntPtr hLine);
string vline="Ext101";
int* hline=&vline;
如何传递hline
作为参数?
答案 0 :(得分:0)
猜测,我会说EXT101
是预处理器定义的常量。没有简单的方法来获得它,因为它在编译后不再作为名称存在。您需要查看您尝试链接的任何库的头文件以查找值。
答案 1 :(得分:0)
请注意,IntPtr不是指向int的指针。它是由签名的本机整数表示的指针。也许你想在内存中获得指向这个字符串的指针:
string vline="Ext101";
IntPtr hline = System.Runtime.InteropServices.Marshal.StringToHGlobalAnsi(vline);
lineDevSpecific(hline);