Dll:
#ifdef PIXDYN2630_EXPORTS
#define PIXDYN2630_API __declspec(dllexport)
#else
#define PIXDYN2630_API __declspec(dllimport)
#endif
#include "pixdyn.h"
// 此类是从 PixDyn2630.dll 导出的
class PIXDYN2630_API CPixDyn2630 {
public:
CPixDyn2630(void);
}extern "C"{
PIXDYN2630_API bool RegisterOutputMsgCallback(outputCallback_t outputCallbackProc);  //outputCallback_t 是函数指针};
函数指针在pixdyn.h定义如下:
typedef void (*outputCallback_t)( const char * string, void* customData );C#调用:
 public delegate void MyDelegate(String info,  IntPtr customData); [DllImport("W:\\PixDyn2630\\debug\\PixDyn2630.dll", EntryPoint = "RegisterOutputMsgCallback",  CallingConvention = CallingConvention.StdCall)]public static extern bool RegisterOutputMsgCallback(MyDelegate del);MyDelegate del = new MyDelegate(callback);RegisterOutputMsgCallback(del);  //错误出在这里托管的 PInvoke 签名与非托管的目标签名不匹配。请检查 PInvoke 签名的调用约定和参数与非托管的目标签名是否匹配。
public void callback(String temp,  IntPtr customData)
        {
                        MessageBox.Show("Call");
        }希望各位帮忙看看