解析结构数组

weixin_38052215 2017-01-11 06:57:29

public CHCNetSDK.NET_DVR_HDCFG m_struAlarmInCfg; private void FrmSdk_Load(object sender, EventArgs e) { //CHCNetSDK.NET_DVR_DEVICESTATECFG sd =new CHCNetSDK.NET_DVR_DEVICESTATECFG(); //var ptr = Marshal.AllocHGlobal(Marshal.SizeOf(sd)); //Marshal.StructureToPtr(sd, ptr, false); Int32 nSize = Marshal.SizeOf(m_struAlarmInCfg); IntPtr ptrAlarmInCfg = Marshal.AllocHGlobal(nSize); CHCNetSDK.NET_DVR_COMPRESSIONCFG_V30 ptrAlarmInCfg1 = new CHCNetSDK.NET_DVR_COMPRESSIONCFG_V30(); Marshal.StructureToPtr(m_struAlarmInCfg, ptrAlarmInCfg, true); //Int32 nSize = Marshal.SizeOf(sd); uint XML_ABILITY_OUT_LEN = 0; CHCNetSDK.NET_DVR_GetDVRConfig(1, CHCNetSDK.NET_DVR_GET_HDCFG, 1, ptrAlarmInCfg , (uint)nSize, ref XML_ABILITY_OUT_LEN); m_struAlarmInCfg = (CHCNetSDK.NET_DVR_HDCFG)Marshal.PtrToStructure(ptrAlarmInCfg, typeof(CHCNetSDK.NET_DVR_HDCFG));



[StructLayoutAttribute(LayoutKind.Sequential)] public struct NET_DVR_HDCFG { public uint dwSize; public uint dwHDCount;/*硬盘数(不可设置)*/ [MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_DISKNUM_V30, ArraySubType = UnmanagedType.Struct)] public NET_DVR_SINGLE_HD[] struHDInfo;//硬盘相关操作都需要重启才能生效; }

想解析这个
NET_DVR_SINGLE_HD需要怎么写啊?

please verify my account


...全文
21 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复

477

社区成员

发帖
与我相关
我的任务
社区描述
其他技术讨论专区
其他 技术论坛(原bbs)
社区管理员
  • 其他技术讨论专区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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