【发布时间】:2023-03-15 13:35:01
【问题描述】:
当我将struct 传递给某个PInvoke 方法时,我会收到错误消息
未处理的异常:System.AccessViolationException:试图读取或写入 受保护的内存。这通常表明其他内存已损坏。
当我使用类时,就可以了。
我想知道这背后的原因吗?
【问题讨论】:
-
这完全取决于有问题的代码。
-
如果你将一个结构体传递给一个按值传递的参数,它的值会被复制。如果您传递一个类,则对该类的引用将被复制。为了能够给您正确的答案,我们需要了解您所处的情况。
-
您尝试使用哪种方法 PInvoke 以及您的结构定义是什么样的?