我这样做是为了从 C 代码中调用非托管函数。pCallback 是一个函数指针,因此托管端是一个委托。
[DllImport("MyDLL.dll")]
public static extern Result SetCallback(
IntPtr handle,
Delegate pCallback,
CallbackType Type);
现在我正在设置
public delegate void pfnCallback(uint PromptID, ttsEventType evt, IntPtr lData);
public Form1()
{
pfnCallback cb = new pfnCallback(cback);
(...)
Wrapper.SetCallback(handle, cb, IntPtr.Zero, CallBackType.DEFAULT);
(...)
}
它给了我一个错误说“......当将委托传递给非托管代码时,它们必须保持活动......”
谁能帮我 ?
问候