第一次试着用C#搞个应用界面,遇到个问题。API是c++写的,有两个函数分别为
                    int    fxMilTrmMessage(FXMilTrmConTextHandle         handle,    const     FXMilTrmMessageOption*          optionList,  size_t      listSize,      const  void*      data,     size_t       datasize,        FXMilTrmCallback       callback,    viod*    userData),其中FXMilTrmCallback       又是如下定义的typedef   void(_callconv   *FXMilTrmCallback)(FXBusHandle  handle,void*  userData,FXMilTrmContextHandle   contextHandle,uint32_t  eventCodes);
         麻烦请教高手,c#里面该如何定义和调用这两个函数啊,看了两天有关的东西,也看不出所以然

解决方案 »

  1.   

    [System.Runtime.InteropServices.UnmanagedFunctionPointer(System.Runtime.InteropServices.CallingConvention.callconv)]
    delegate void FXMilTrmCallback (IntPtr  handle,IntPtr userData,IntPtr   contextHandle,UInt32  eventCodes);[DllImport(...)]
    int  fxMilTrmMessage (IntPtr handle,    /*定义为class,如果定义为struct,需要加 ref*/FXMilTrmMessageOption optionList,  IntPtr      listSize,      IntPtr     data,     IntPtr  datasize,        FXMilTrmCallback       callback,    IntPtr    userData),
      

  2.   

    c 中的函数指针 <--->c # 委托