【发布时间】:2010-02-17 15:53:06
【问题描述】:
我这样做是为了从 C 代码中调用非托管函数。 pCallback 是一个函数指针,因此托管端是一个委托。
[DllImport("MyDLL.dll")]
public static extern Result SetCallback(
IntPtr handle,
Delegate pCallback,
CallbackType Type);
现在我正在设置
private delegate void pfnCallback(uint PromptID, ttsEventType evt, IntPtr lData);
private pfnCallback cb = new pfnCallback(cback);
public Form1()
{
(...)
Wrapper.SetCallback(handle, cb, IntPtr.Zero, CallBackType.DEFAULT);
(...)
public static void cback(uint PromptID, ttsEventType evt, IntPtr lData)
{ }
}
调试时,我看到它运行了一次cback函数,然后我得到一个没有数据的异常,只是说“WindowsApp2.vshost.exe中发生未处理的win32异常[4372]。我不明白是什么错了。谁能帮帮我?
【问题讨论】: