[英]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.