从结构中提取指针参数
Extract pointer parameter from a structure
在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
。我设置了端口和位,然后我想读取状态。
如何使用 DllIMPORT 在 C# 中进行转换,C++函数DRV_DioReadBit包含结构PT_DioReadBit。
我从来没有真正尝试过,但你可能可以以常规方式使用它,仍然在 C# 中使用指针。是的,C# 也有指针,但您必须在"不安全"模式下使用它们,并且必须转到项目属性才能允许使用不安全模式。
相关文章:
- 为函数定义符号不明确的指针参数
- 构造函数 (C++) 中的 char 指针参数存在问题
- 按引用调用与按指针参数调用的差异 前递增和后递增
- 为什么具有指针参数的成员函数需要指向指针的指针?
- 通过引用函数传递指针参数是什么意思?
- 从double到double*的指针参数
- void 函数中的指针参数返回不一致的值
- 无法向上转换指针到指针参数
- 将数组动态分配到具有指针参数的函数中
- 模板函数指针参数与构造函数参数
- 使用通用函数指针参数化函数模板的简洁方法
- 如何为C++字符串分配空指针参数?
- C++带有指针参数的函数
- 指针参数的默认值
- 将常量添加到函数模板指针参数
- 如何传递unique_ptr<T>代替原始*输出*指针参数?
- 不带星号的函数指针参数
- 功能指针参数参数转换为const
- 将指针参数传递给双指针参数
- 如何调试指针参数是否通过函数修改