using System;
using System.Runtime.InteropServices;
namespace AutoFocusTool.Camera
{
///
/// 相机采集参数结构体。布局必须与 mvcapi.dll 约定完全一致(顺序敏感),
/// 抄自原工程 ivf_tl_CameraHelper\CapInfoStruct.cs,勿改字段顺序。
///
[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)]
public struct CapInfoStruct
{
/// 指向 Raw Data 的指针
[MarshalAs(UnmanagedType.SysInt)]
public IntPtr Buffer;
/// 捕获窗口高度
[MarshalAs(UnmanagedType.U4)]
public int Height;
/// 捕获窗口宽度
[MarshalAs(UnmanagedType.U4)]
public int Width;
/// 捕获窗口水平偏移
[MarshalAs(UnmanagedType.U4)]
public int HorizontalOffset;
/// 捕获窗口垂直偏移
[MarshalAs(UnmanagedType.U4)]
public int VerticalOffset;
/// 曝光时间(单位:100us)
[MarshalAs(UnmanagedType.U4)]
public int Exposure;
/// Gain[0]红 Gain[1]绿 Gain[2]蓝,0-255
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 3)]
public byte[] Gain;
/// 命令参数位
public byte Control;
/// binning 等保留位
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 8)]
public byte[] Reserved;
}
}