单从字面上去理解,就是长度不一样,说白了就是alarmDeviceUser和ptrInput在内存的长度不一致,导致放入内存的时候放不进去。 排除原因 一开始怎么都不知道啥原因,因为Marshal.SizeOf(alarmDeviceUser)拿到的肯定是alarmDeviceUser的长度,其他代码在海康威视中都有例子,这里面只有一句话是自己的,就是alarmDeviceUser.sPas...
原因 1、声明的数组长度和实际的数组长度不一致,比如声明的数组长度为1000,实际数组里放了1000多。
c# System.ArgumentException:“未能封送类型,因为嵌入数组实例的长度与布局中声明的长度不匹配。” c# 的结构体的数值不能为默认的null需要初始化 如果结构体有改动,那么初始化的地方需要改动,注意结构体的数值不能为默认的null