我使用C代码调用了非托管函数。 pCallback是一个函数指针,所以托管端是一个委托。调用回调函数时出现C#异常
[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功能一次,然后我得到一个异常没有数据,只是说“发生未处理的win32异常WindowsApp2.vshost.exe [4372]我不明白什么是错的。谁能帮我?
它的工作!非常感谢你! – jose 2010-02-17 16:18:01