我使用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