高崇进 2016-07-04 09:03 采纳率: 0%
浏览 1091

一个c++的方法结构体,c#调用传入结构体导出一直不对,求各位大神帮忙

struct HL7SDK_INTERFACE
{
void (* OnConnect) (int iBedNO);

void (* OnDisconnect)(int iBedNO);      

void (* OnRecvHL7Msg)(int iBedNO, void * pMsg, int iLen, int iMsgType); 

void (* OnSendHL7Msg)(int iBedNO, void *pMsg, int iLen, int iMsgType);  

};
typedef struct HL7SDK_INTERFACE HL7SDK_INTERFACE, *PHL7SDK_INTERFACE;
int InitHL7SDK(PHL7SDK_INTERFACE pHL7SDKInterace, enum HL7_WORK_MODE enHL7ServerMode, unsigned long ulServerIP, unsigned long ulLocalIP);

一个c++的方法结构体,c#调用传入结构体导出一直不对,求各位大神帮忙

[DllImport("HL7SDK.dll", EntryPoint = "InitHL7SDK", CallingConvention = CallingConvention.Cdecl)]
public extern static int InitHL7SDK(ref SDKStruct pHL7SDKInterace, publicStruct.HL7_WORK_MODE serverMode, System.UInt32 serverIP, System.UInt32 localIP);

  • 写回答

1条回答 默认 最新

  • 5t4rk 2016-07-04 09:54
    关注

    1 注意编码 CharSet = CharSet.Ansi,
    2 注意指针 要开启C# unsafe模式才可以识别。
    3 调用约定要和封装的dll保持一致。

    评论

报告相同问题?