[英]How to Marshal a void* function return type and parameter in C#?
我有一个带有原型的 C function, void* VoidPointer(void*); 现在我需要在 C# 中编组它(使用 DllImport)。 但是不知道C#代码中的参数怎么提。
我是 C# 的新手,需要尽快解决这个问题(在几次尝试中出现了这样的错误,无法从“int”转换为“System.IntPtr”)谢谢。
c# 支持空指针。 只需将 function 声明为
[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 指针当然引用整数时才有效)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.