Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C#WPF中的MTAThread调用非托管回调函数_C#_Wpf_Callback_Unmanaged - Fatal编程技术网

C#WPF中的MTAThread调用非托管回调函数

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()); }

我必须编写一个从非托管dll调用回调函数的应用程序。在windows窗体应用程序中,当将
[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编写的,是否有任何方法可以调用回调函数