c# 如何获取自定义结构体真实内存地址

zhkand 2010-01-12 01:47:54
如题!!!!!!!!!
...全文
551 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
Mittermeyer 2010-01-16
  • 打赏
  • 举报
回复
我觉得你只要在申明API的时候把Byte[]修改为IntPtr,你要做的事情不都满足了么?
zhkand 2010-01-12
  • 打赏
  • 举报
回复
请高手啊!!!!!!!
zhkand 2010-01-12
  • 打赏
  • 举报
回复
现在是有个C++封装的一个获取/设置硬件设备配置信息的DLL
这些配置信息对应一个结构体
我根据C++中定义的结构体
用c#自定义一个对应的结构体
我现在想应用这个DLL
就要把在c#中自定义的结构体的内存首地址以byte[]的形式传到DLL对应的函数中;
我现在该如何获取自定义结构体的首地址呢?
请大家给个建议啊
等待中。。。。。。。。。。。

zhkand 2010-01-12
  • 打赏
  • 举报
回复
我是想实现这样的功能
比如
int size = Marshal.SizeOf(struNetCfg.GetType());//struNetCfg是个结构体
IntPtr buffer = Marshal.AllocHGlobal(size);
Marshal.StructureToPtr(struNetCfg, buffer, false);
现在如何获取新开辟存放结构体的内存首地址呢?
Mittermeyer 2010-01-12
  • 打赏
  • 举报
回复
为什么要有这个需求?
为了调试么?如果调试的话,C#中不需要向C一样根据地址来看变量的值,CLR的调试时能够获取所有对象列表的。

111,120

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧