C#WPF中的MTAThread调用非托管回调函数
我必须编写一个从非托管dll调用回调函数的应用程序。在windows窗体应用程序中,当将C#WPF中的MTAThread调用非托管回调函数,c#,wpf,callback,unmanaged,C#,Wpf,Callback,Unmanaged,我必须编写一个从非托管dll调用回调函数的应用程序。在windows窗体应用程序中,当将[STAThread]替换为[MTATread]时,回调函数起作用,如下所示 [MTAThread] static void Main() { Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); Application.Run(new MainWindow()); }
[STAThread]
替换为[MTATread]
时,回调函数起作用,如下所示
[MTAThread]
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new MainWindow());
}
以下是代码段:
//callback function from unmanaged dll
[UnmanagedFunctionPointer(CallingConvention.Winapi)]
public delegate void funNoteInfoCallback(parameters ...);
//calling from MainWindow:
//Initialize and assignement:
funNoteInfoCallback noteInfoCallBakCallback;
noteInfoCallBakCallback = MyOnCallBackNotesInfo;
private static void MyOnCallBackNotesInfo(parameters ...)
{
//do some stuff
}
//Calling function:
SetNoteInfoCallback(handle, noteInfoCallBakCallback, Handle);
我的应用程序是使用WPF编写的,是否有任何方法可以调用回调函数