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