0

我有IntPtr作为参数的方法。现在我有一个字符串“EXT101”,我需要将它作为参数传递给函数参数。以下是我的功能以及我尝试过的功能,但它不起作用。

unsafe private static extern int lineDevSpecific(IntPtr hLine); 
string vline="Ext101"; 
int* hline=&vline; 

如何hline作为参数传递?

4

2 回答 2

0

猜测一下,我会说EXT101是一个预处理器定义的常量。没有简单的方法来获得它,因为它在编译后不再作为名称存在。您需要查看要链接的任何库的头文件以查找值。

于 2013-03-04T10:11:38.253 回答
0

请注意,IntPtr 不是指向 int 的指针。它是由有符号本机整数表示的指针。也许您想在内存中获取指向该字符串的指针:

string vline="Ext101";
IntPtr hline = System.Runtime.InteropServices.Marshal.StringToHGlobalAnsi(vline);
lineDevSpecific(hline);
于 2013-03-04T12:04:57.747 回答