struct{
DWORD dwSize;
BYTE byStreamMode;
BYTE byRes1[3];
NET_DVR_DEC_STREAM_MODE uDecStreamMode;
BYTE byRes2[64];
}NET_DVR_PU_STREAM_CFG_V41,*LPNET_DVR_PU_STREAM_CFG_V41;union{
NET_DVR_DEC_STREAM_DEV_EX struDecStreamDev;
NET_DVR_PU_STREAM_URL struUrlInfo;
NET_DVR_DEC_DDNS_DEV struDdnsDecInfo;
BYTE byRes[300];
}NET_DVR_DEC_STREAM_MODE,*LPNET_DVR_DEC_STREAM_MODE;struct{
NET_DVR_STREAM_MEDIA_SERVER struStreamMediaSvrCfg;
NET_DVR_DEV_CHAN_INFO_EX struDevChanInfo;
}NET_DVR_DEC_STREAM_DEV_EX,*LPNET_DVR_DEC_STREAM_DEV_EX;根据网上资料写的c#对应的        [StructLayout(LayoutKind.Sequential)]
        public struct NET_DVR_PU_STREAM_CFG_V41
        {
            public uint dwSize;
           
            public byte byStreamMode;            [MarshalAs(UnmanagedType.ByValArray, SizeConst = 3, ArraySubType = UnmanagedType.I1)]
            public byte[] byRes1;
           
            public NET_DVR_DEC_STREAM_MODE uDecStreamMode;            [MarshalAs(UnmanagedType.ByValArray, SizeConst = 64, ArraySubType = UnmanagedType.I1)]
            public byte[] byRes2;            public void Init()
            {
                byRes1=new byte[3];
                byRes2=new byte[64];
            }
        }        [StructLayout(LayoutKind.Explicit,Size = 300)]
        public struct NET_DVR_DEC_STREAM_MODE
        {           
            [MarshalAs(UnmanagedType.ByValArray, SizeConst = 300, ArraySubType = UnmanagedType.I1)]
            [FieldOffsetAttribute(0)]
            public byte[] byRes;
        }        [StructLayout(LayoutKind.Sequential)]
        public struct NET_DVR_DEC_STREAM_DEV_EX
        {
            public NET_DVR_STREAM_MEDIA_SERVER struStreamMediaSvrCfg;            public NET_DVR_DEV_CHAN_INFO_EX struDevChanInfo;
        }现在对NET_DVR_DEC_STREAM_DEV_EX中struDevChanInfo赋值后,准备进行StructToBytes转换为byte时程序挂掉(还未进入StructToBytes)。是不是我结构体有问题??