如何在非托管dll导入中将参数类对象c#传递给c ++ typedef union结构?

时间:2019-01-08 03:54:34

标签: c# c++ class struct dllimport

我想用struct作为参数调用非托管c ++程序。

c ++结构如下所示。

typedef union {
    BYTE byBuffer[32];

    struct {
        union {
        DWORD dwOptionFlag;
            struct {
                unsigned BIT_IGNOREEXSTOP : 1;
                unsigned BIT_USE_CUSTOMACCDEC : 1;
            };
        } flagOption;
        WORD wCustomAccDecTime;
    };
} VELOCITY_OPTION_EX;

c ++中的功能参数文档

int FAS_MoveVelocityEx(
    BYTE nPortNo,
    BYTE iSlaveNo,
    DWORD lVelocity,
    int iVelDir,
    VELOCITY_OPTION_EX* lpExOption
);

我用于导入dll函数的C#代码

[DllImport("EziMOTIONPlusR.dll")]
public static extern EziServoResult FAS_MoveVelocityEx
    (byte nPortNo, byte iSlaveNo, long lVelocity, int iVelDir, out VELOCITY_OPTION_EX lpExOption);

如何从c#中创建与C ++中的VELOCITY_OPTION_EX相匹配的类?

注意:我只有文档+ dll库,它是用c ++编写的。

0 个答案:

没有答案