在dll库中,我有函数DRV_DioReadBit
,其中包含结构PT_DioReadBit
。 C ++声明是:
FEXPORT LRESULT FTYPE DRV_DioReadBit(LONG_PTR DriverHandle, LPT_DioReadBit lpDioReadBit);
结构PT_DioReadBit
包含指针*state
,如下所示(在C ++中):
typedef struct tagPT_DioReadBit
{
USHORT port;
USHORT bit;
USHORT far *state;
} PT_DioReadBit, FAR * LPT_DioReadBit;
lpDioReadBit
是指向存储目标端口号PT_DioReadBit
,位顺序号USHORT port
和返回位状态USHORT bit
的结构USHORT *state
的指针。我设置了端口和位,然后我想读取状态。
如何转换C#,USING DllIMPORT,包含结构PT_DioReadBit的C ++函数DRV_DioReadBit。
答案 0 :(得分:0)
我从来没有尝试过,但你可能会以常规的方式使用它,仍然使用C#中的指针。是的,C#也有指针,但您必须在“不安全”模式下使用它们,并且必须转到项目属性才能使用不安全模式。