如何在C#中使用void *函数返回类型和参数?

时间:2011-07-19 11:01:29

标签: c# void-pointers

我有原型的C函数, void * VoidPointer(void *); 现在我需要在C#中编组它(使用DllImport)。但我不知道如何提及C#代码中的参数。

  • static public extern WHAT_RETURN_TYPE VoidPointer( WHAT_PARAMETER_TYPE );
  • 如何使用C#代码(SAMPLE USE)中的适当参数进行调用

我是C#的新手,需要尽快解决这个问题(在几次尝试中都有错误,因为这样的错误无法从'int'转换为'System.IntPtr') 感谢。

1 个答案:

答案 0 :(得分:2)

c#支持void指针。只需将函数声明为

即可
[DllImport("test.dll")]
public static extern unsafe void* VoidPointer(void* AValue);

public unsafe void Test()
{
    int* a;
    int b = 0;

    a = (int*)VoidPointer(&b);
}

(这只适用于void指针引用的整数)