为什么使用struct而不是class时会出现AccessViolationException
当我将 struct
传递给某些 PInvoke
方法时,我将收到错误
未处理的异常:System.AccessViolationException:尝试读取或写入 受保护的内存。这通常表明其他内存已损坏。
当我使用类时,就可以了。
我想知道这背后有什么原因吗?
When I pass in a struct
to some PInvoke
method, I will receive the error
Unhandled Exception: System.AccessViolationException: Attempted to read or write
protected memory. This is often an indication that other memory is corrupt.
When I use class, then it is OK.
I want to know any reason behind that?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
MSDN 在这篇文章中指出:
您还可以在那里找到在使用 PInvoke 时派上用场的其他信息。
MSDN states in this article:
You will also find additional information that will come in handy when using PInvoke there.