sách gpt4 ai đã đi

Ngoại lệ C# khi gọi hàm gọi lại

In lại 作者:行者123 更新时间:2023-11-30 14:43:10 28 4
mua khóa gpt4 Nike

我这样做是为了从 C 代码调用非托管函数。 pCallback 是一个函数指针,因此在托管端是一个委托(delegate)。

[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[4372] 中发生了未处理的 win32 异常。我不明白这是什么错了。谁能帮帮我?

1 Câu trả lời

尝试调用 Marshal.GetLastWin32Error() 来获取 Win32 错误代码。

然后将错误代码与此列表进行比较:http://msdn.microsoft.com/en-us/library/ms681381(VS.85).aspx

它仍然没有一个好的异常对象那么多信息,但它可能会为您指明正确的方向。

关于调用回调函数时出现C#异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2282125/

28 4 0
行者123
Hồ sơ cá nhân

Tôi là một lập trình viên xuất sắc, rất giỏi!

Nhận phiếu giảm giá Didi Taxi miễn phí
Mã giảm giá Didi Taxi
Giấy chứng nhận ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com