<pre name="code" class="csharp">æè¿å
¬å¸å¼åä¸ä¸ªé¡¹ç® éè¦ç¨å°æµ·åº·è§é¢ä¸å¤§å±
æç
§æµ·åº·çSDK2次å¼åå
äºä¾è°ç¨äºä¸é  æ»æ¯åºç°ä¸äºé误  å¨ç½ä¸ä¹å¾å°æè¿æ¹é¢çèµæ   ä»å¤©è°ç¨æå æ¥åäº«ä¸ Â å¸ææéå°ç¸åé®é¢çæåå¯ä»¥å
å»ä¸äºé®é¢  å¦ææé®é¢æ建议  欢è¿è¯è®ºæç§ä¿¡æ
1é¦å æ¯ä»£ç è°ç¨æ¹æ³ï¼
/// <summary>
/// 解ç å¨è§é¢ä¸å¢
/// </summary>
/// <param name="UserID">注å解ç å¨æååè¿åçid</param>
/// <param name="EquIP">å端æåæºè®¾å¤IP</param>
/// <param name="DecoderChannel">解ç å¨éé</param>
/// <param name="EquChannel">å端æåæºéé</param>
/// <param name="UName">设å¤ç¨æ·å</param>
/// <param name="Upwd">设å¤å¯ç </param>
/// <param name="Port">设å¤ç«¯å£</param>
/// <param name="WindowMode">解ç å¨åå±æ¨¡å¼ 1å± 4å± å¯¹åºä¼ å
¥ 1æ4 </param>
/// <param name="Type">解ç ç±»å 0-主å¨è§£ç 1-被å¨è§£ç </param>
/// <param name="WindowModeChannel">åå±æ¨¡å¼å å±å¹å¯¹åºçééå·</param>
/// <param name="Vga">è¾åºçVgaå£</param>
public void HaiKangDecoder(int UserID, string EquIP, int DecoderChannel, int EquChannel,string UName,string Upwd,string Port,uint WindowMode, int Type,string[] WindowModeChannel,ushort Vga)
{
if (Type == 0)//主å¨è§£ç
{
#region 主å¨è§£ç -å®æ¶æµ
//设å¤è½åéç»æä½
CHCNetSDK.CHCNetSDK.NET_DVR_MATRIX_ABILITY_V41 struDecoderCapability=new CHCNetSDK.CHCNetSDK.NET_DVR_MATRIX_ABILITY_V41();
//ç»æä½åéèµäºåå§é¿åº¦
struDecoderCapability.byRes1 = new byte[5];
struDecoderCapability.byRes1 = new byte[119];
//struDecoderCapability.struDispMode = new CHCNetSDK.CHCNetSDK.NET_DVR_DISPWINDOWMODE[32];
//å®ä¹è½åç±»å
uint dwAbilityType = 0x260;//å¤è·¯è§£ç å¨æ¾ç¤ºã解ç è½å
//å®ä¹è¾åºé¿åº¦
byte byDispMode = 0;
//è·åç»æä½é¿åº¦
uint OutSize = (uint)Marshal.SizeOf(struDecoderCapability);
//è·å解ç å¨è½åé
if (CHCNetSDK.CHCNetSDK.NET_DVR_GetDeviceAbility(UserID, dwAbilityType,null, 0, out struDecoderCapability, OutSize))
{
//è·åæå å°åå±æ¨¡å¼è®¾å®ä¸º æåä¸ä¸ªæ¨¡å¼
for (int i = 0; i < CHCNetSDK.CHCNetSDK.MAX_DISPNUM_V41; i++)
{
if (struDecoderCapability.struDispMode[i].byDispChanType == 1 && struDecoderCapability.struDispMode[i].byDispChanSeq == 1)
{
for (int j = 0; j <CHCNetSDK.CHCNetSDK.MAX_WINDOWS_NUM; j++)
{
if (struDecoderCapability.struDispMode[i].byDispMode[j] > 0)
{
byDispMode = struDecoderCapability.struDispMode[i].byDispMode[j];
}
}
}
}
} //Console.WriteLine(CHCNetSDK.CHCNetSDK.NET_DVR_GetLastError());
//设置åå§éé æ¤å¤ä¸ºä»£ç äºä¾ éåç»æµè¯
uint DecChanNum = (uint)(struDecoderCapability.byStartChan + 1);//uint.Parse(DecoderChannel.ToString());// (uint)struDecoderCapability.byStartChan + 1;
//设置解ç éé为å¼: 0表示å
³éï¼1表示æå¼
if (CHCNetSDK.CHCNetSDK.NET_DVR_MatrixSetDecChanEnable(UserID, (uint)DecoderChannel, 1))//设置解ç ééå¼å
³ï¼å¦æ设置为å
³ï¼ééå°åæ¢è§£ç
{
//Console.WriteLine(CHCNetSDK.CHCNetSDK.NET_DVR_GetLastError());
}
//é
ç½®æ¾ç¤ºééåæ°ï¼å
æ¬ç»é¢åå²ãå
³è解ç éé
ushort DispChanNum =ushort.Parse((struDecoderCapability.struVgaInfo.byStartChan+1).ToString());
//VGA1
CHCNetSDK.CHCNetSDK.NET_DVR_MATRIX_VOUTCFG struVoutCfg = new CHCNetSDK.CHCNetSDK.NET_DVR_MATRIX_VOUTCFG();
if (!CHCNetSDK.CHCNetSDK.NET_DVR_MatrixGetDisplayCfg_V41(UserID,2/*Convert.ToInt32(DispChanNum)*/, out struVoutCfg))
{
//Console.WriteLine(CHCNetSDK.CHCNetSDK.NET_DVR_GetLastError());
}
//åVGA1æ¯æçç»é¢åå²è½åçæåä¸ä¸ªæ¨¡å¼
struVoutCfg.dwWindowMode =WindowMode;
//å°å
³èçªå£åå§ä¸º0
for (int i = 0; i < CHCNetSDK.CHCNetSDK.MAX_WINDOWS_V41; i++) //æ¤å¤å¯æ ¹æ®å®é
解ç å¨çéé设置
{
struVoutCfg.byJoinDecChan[i] =0;
}
//çªå£å
³è解ç éé
struVoutCfg.byJoinDecChan[0] =(byte)((WindowModeChannel[0] == "" || WindowModeChannel[0] == null) ? 0 :Convert.ToInt32(WindowModeChannel[0]));
struVoutCfg.byJoinDecChan[1] = (byte)((WindowModeChannel[1] == "" || WindowModeChannel[1] == null) ? 1 : Convert.ToInt32(WindowModeChannel[1]));
struVoutCfg.byJoinDecChan[2] = (byte)((WindowModeChannel[2] == "" || WindowModeChannel[2] == null) ? 2 : Convert.ToInt32(WindowModeChannel[2]));
struVoutCfg.byJoinDecChan[3] = (byte)((WindowModeChannel[3] == "" || WindowModeChannel[3] == null) ? 3 : Convert.ToInt32(WindowModeChannel[3]));
//设置åå±æ¾ç¤º
if (!CHCNetSDK.CHCNetSDK.NET_DVR_MatrixSetDisplayCfg_V41(UserID,Vga/* DispChanNum*/, ref struVoutCfg))
{
//Console.WriteLine(CHCNetSDK.CHCNetSDK.NET_DVR_GetLastError());
}
//å¯å¨å¨æ解ç
CHCNetSDK.CHCNetSDK.NET_DVR_PU_STREAM_CFG_V41 struDynamicInfo = new CHCNetSDK.CHCNetSDK.NET_DVR_PU_STREAM_CFG_V41();
struDynamicInfo.Init();
struDynamicInfo.uDecStreamMode.byRes = new byte[300];
//åæµæ¨¡å¼byStreamModeï¼0- æ æï¼1- éè¿IPæåååæµï¼2- éè¿URLåæµï¼3- éè¿å¨æåå解æå设å¤åæµ
struDynamicInfo.byStreamMode = 1;
//è·åç»æä½é¿åº¦
struDynamicInfo.dwSize =Marshal.SizeOf(typeof(CHCNetSDK.CHCNetSDK.NET_DVR_PU_STREAM_CFG_V41));
//声æå端设å¤ä¿¡æ¯ç»æä½å¯¹è±¡
CHCNetSDK.CHCNetSDK.NET_DVR_DEC_STREAM_DEV_EX devex = new CHCNetSDK.CHCNetSDK.NET_DVR_DEC_STREAM_DEV_EX();
//åå§åå¼
devex.struDevChanInfo.Init();
//ééç±»åï¼0-æ®éééï¼1-é¶ééï¼2-æµIDï¼è§£ç å¨æ¯æçééç±»åå¯ä»¥éè¿è½åéDECODER_ABILITYè·å
devex.struDevChanInfo.byChanType = 0;
//å端设å¤IPå°å
System.Text.Encoding.ASCII.GetBytes(EquIP).CopyTo(devex.struDevChanInfo.byAddress, 0);
//å端设å¤æå¡ç«¯å£
devex.struDevChanInfo.wDVRPort = ushort.Parse(Port);
//åéé1çç æµ
devex.struDevChanInfo.byChannel = (byte)EquChannel;
//å端设å¤ç»å½ç¨æ·å
System.Text.Encoding.ASCII.GetBytes(UName).CopyTo(devex.struDevChanInfo.sUserName, 0);
//å端设å¤ç»å½å¯ç
System.Text.Encoding.ASCII.GetBytes(Upwd).CopyTo(devex.struDevChanInfo.sPassword, 0);
//å家ç§æåè®®ï¼å
¶ä»ç±»åå¯ä»¥éè¿æ¥å£NET_DVR_GetIPCProtoListè·å
//设置å议类å é»è®¤ä¸º0 å家ç§æåè®®
devex.struDevChanInfo.byFactoryType = 0;
//å°ç»æä½è½¬æ¢ä¸ºbyte[]
object ModeDevChan=devex;
//å°è½¬æ¢åçå¼èµå¼ç»æ°ç»
struDynamicInfo.uDecStreamMode.byRes = _analy.StructToBytes(ModeDevChan);
//å¼å§è§£ç
if (CHCNetSDK.CHCNetSDK.NET_DVR_MatrixStartDynamic_V41(UserID,/*Convert.ToInt32(DecChanNum)*/DecoderChannel,ref struDynamicInfo))
{
//Console.WriteLine(CHCNetSDK.CHCNetSDK.NET_DVR_GetLastError());
}
//Console.WriteLine(CHCNetSDK.CHCNetSDK.NET_DVR_GetLastError());
//åæ¢è§£ç
//if (!CHCNetSDK.CHCNetSDK.NET_DVR_MatrixStopDynamic(UserID, DecoderChannel))
//{
// Console.WriteLine(CHCNetSDK.CHCNetSDK.NET_DVR_GetLastError());
//}
#endregion
}
else if (Type == 1)//被å¨è§£ç
{
#region 被å¨è§£ç
ushort BDispChanNum = 1;//æ¾ç¤ºééï¼å¯ä»¥éè¿è½åéè·å
CHCNetSDK.CHCNetSDK.NET_DVR_MATRIX_VOUTCFG VoutCfg = new CHCNetSDK.CHCNetSDK.NET_DVR_MATRIX_VOUTCFG();
if (!CHCNetSDK.CHCNetSDK.NET_DVR_MatrixGetDisplayCfg_V41(UserID, BDispChanNum, out VoutCfg))
{//åºéå¤ç
}
VoutCfg.byJoinDecChan = new byte[36];
VoutCfg.byRes2 = new byte[80];
VoutCfg.dwWindowMode = 4;
//ç»é¢åå²è®¾ä¸º4ç»é¢
VoutCfg.byJoinDecChan[0] = 1;
//VoutCfg.dwSize =(uint)Marshal.SizeOf(VoutCfg);
VoutCfg.dwSize =Marshal.SizeOf(typeof(CHCNetSDK.CHCNetSDK.NET_DVR_MATRIX_VOUTCFG));
//VoutCfg.dwSize =616;
//å·¦ä¸è§ç¬¬ä¸ä¸ªçªå£å
³è解ç éé1
if (!CHCNetSDK.CHCNetSDK.NET_DVR_MatrixSetDisplayCfg_V41(UserID, 1,ref VoutCfg))
{
Console.WriteLine(CHCNetSDK.CHCNetSDK.NET_DVR_GetLastError());
//for (int i = 1; i < 300; i++)
//{
// VoutCfg.dwSize = (uint)i;
// if (CHCNetSDK.CHCNetSDK.NET_DVR_MatrixSetDisplayCfg_V41(UserID, 1, VoutCfg))
// {
// Console.Write("waoooo" + i);
// Console.Write("waoooo" + i);
// Console.Write("waoooo" + i);
// Console.Write("waoooo" + i);
// }
//}
//åºéå¤ç
}
uint BDec = 0;
uint BDecChanNum = 1;
//解ç ééå·ï¼æ¤å¤å设ééå·ä¸º1
if (!CHCNetSDK.CHCNetSDK.NET_DVR_MatrixGetDecChanEnable(UserID, BDecChanNum, ref BDec))
//è·å解ç ééå¼å
³
{ //åºéå¤ç
}
//设置解ç éé为å¼ï¼0表示å
³éï¼1表示æå¼
if (!CHCNetSDK.CHCNetSDK.NET_DVR_MatrixSetDecChanEnable(UserID, BDecChanNum, 1))
//设置解ç ééå¼å
³ï¼å¦æ设置为å
³ï¼ééå°åæ¢è§£ç
{
//åºéå¤ç
}
//被å¨è§£ç
ushort m_PassivePort = 8000;
int lPassiveModeHandle = -1;
//被å¨è§£ç å¥æ
CHCNetSDK.CHCNetSDK.NET_DVR_MATRIX_PASSIVEMODE m_PassiveMode = new CHCNetSDK.CHCNetSDK.NET_DVR_MATRIX_PASSIVEMODE();
m_PassiveMode.wPassivePort = m_PassivePort;
//UDPæ¶ç端å£å·ï¼TCPæ¶é»è®¤ä¸º8000
int login = HaiKangLogin("192.168.0.200", "8000", "admin", "12345");
//â¦â¦å
¶ä»è¢«å¨è§£ç åæ°
lPassiveModeHandle = CHCNetSDK.CHCNetSDK.NET_DVR_MatrixStartPassiveDecode(login,34/* BDecChanNum*/, ref m_PassiveMode);
//å¯ å¨å¤è·¯è§£ç å¨è¢«å¨è§£ç
if (!CHCNetSDK.CHCNetSDK.NET_DVR_MatrixSendData(lPassiveModeHandle, IntPtr.Zero, (uint)Marshal.SizeOf(m_PassiveMode)))
{
}
//å解ç å¨åéæ°æ®,pSendBuf为åéæ°æ®ç¼å²åºï¼dwBufSize为æ°æ®å¤§å°
//NET_DVR_MatrixStopPassiveDecode(lPassiveModeHandle);
//åæ¢å¤è·¯è§£ç å¨è¢«å¨è§£ç
#endregion
}
}
2.å 为æ¹æ³ä¸çç»æä½ æµ·åº·é½æ²¡æç»å®ä¹  éè¦èªå®ä¹  æææ´ä¸ªææ¡£å ¨é¨è´´åºæ¥  æä¸ç¹ç¹å¤  大家å¯ä»¥ç²è´´åºå»ï¼éè¦æ³¨æçæ¯ NET_DVR_DEC_STREAM_MODEæ¯ä¸ä¸ªèåä½ï¼c++ï¼ä¸Â å¨C#ä¸å¯å®ä¹ä¸ºä¸é¢çæ ¼å¼å³å¯ï¼éè¦ç¨å°åªä¸ªç»æä½æ¶Â æ该ç»æä½è½¬ä¸ºè¿ä¸ªbyResæ°ç»å³å¯
[StructLayoutAttribute(LayoutKind.Explicit)]
public struct NET_DVR_DEC_STREAM_MODE
{
          [MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 300, ArraySubType = UnmanagedType.I1)]
          public byte[] byRes;       Â
}
<pre class="csharp" name="code">using System;
using System.Runtime.InteropServices;
namespace CHCNetSDK
{
/// <summary>
/// CHCNetSDK çæè¦è¯´æã
/// </summary>
public class CHCNetSDK
{
public CHCNetSDK()
{
//
// TODO: å¨æ¤å¤æ·»å æé å½æ°é»è¾
//
}
//SDKç±»å
public const int SDK_PLAYMPEG4 = 1;//ææ¾åº
public const int SDK_HCNETSDK = 2;//ç½ç»åº
public const int NAME_LEN = 32;//ç¨æ·åé¿åº¦
public const int PASSWD_LEN = 16;//å¯ç é¿åº¦
public const int GUID_LEN = 16; //GUIDé¿åº¦
public const int DEV_TYPE_NAME_LEN = 24; //设å¤ç±»åå称é¿åº¦
public const int MAX_NAMELEN = 16;//DVRæ¬å°ç»éå
public const int MAX_RIGHT = 32;//设å¤æ¯æçæéï¼1-12表示æ¬å°æéï¼13-32表示è¿ç¨æéï¼
public const int SERIALNO_LEN = 48;//åºåå·é¿åº¦
public const int MACADDR_LEN = 6;//macå°åé¿åº¦
public const int MAX_ETHERNET = 2;//设å¤å¯é
以太ç½ç»
public const int MAX_NETWORK_CARD = 4; //设å¤å¯é
æ大ç½å¡æ°ç®
public const int PATHNAME_LEN = 128;//è·¯å¾é¿åº¦
public const int MAX_NUMBER_LEN = 32; //å·ç æ大é¿åº¦
public const int MAX_NAME_LEN = 128; //设å¤å称æ大é¿åº¦
public const int MAX_TIMESEGMENT_V30 = 8;//9000设å¤æ大æ¶é´æ®µæ°
public const int MAX_TIMESEGMENT = 4;//8000设å¤æ大æ¶é´æ®µæ°
public const int MAX_ICR_NUM = 8; //æææºçº¢å¤æ»¤å
çé¢ç½®ç¹æ°
public const int MAX_SHELTERNUM = 4;//8000设å¤æ大é®æ¡åºåæ°
public const int PHONENUMBER_LEN = 32;//pppoeæ¨å·å·ç æ大é¿åº¦
public const int MAX_DISKNUM = 16;//8000设å¤æ大硬çæ°
public const int MAX_DISKNUM_V10 = 8;//1.2çæ¬ä¹åçæ¬
public const int MAX_WINDOW_V30 = 32;//9000设å¤æ¬å°æ¾ç¤ºæ大ææ¾çªå£æ°
public const int MAX_WINDOW = 16;//8000设å¤æ大硬çæ°
public const int MAX_VGA_V30 = 4;//9000设å¤æ大å¯æ¥VGAæ°
public const int MAX_VGA = 1;//8000设å¤æ大å¯æ¥VGAæ°
public const int MAX_USERNUM_V30 = 32;//9000设å¤æ大ç¨æ·æ°
public const int MAX_USERNUM = 16;//8000设å¤æ大ç¨æ·æ°
public const int MAX_EXCEPTIONNUM_V30 = 32;//9000设å¤æ大å¼å¸¸å¤çæ°
public const int MAX_EXCEPTIONNUM = 16;//8000设å¤æ大å¼å¸¸å¤çæ°
public const int MAX_LINK = 6;//8000设å¤åééæ大è§é¢æµè¿æ¥æ°
public const int MAX_ITC_EXCEPTIONOUT = 32;//æææºæ大æ¥è¦è¾åº
public const int MAX_DECPOOLNUM = 4;//å路解ç å¨æ¯ä¸ªè§£ç ééæ大å¯å¾ªç¯è§£ç æ°
public const int MAX_DECNUM = 4;//å路解ç å¨çæ大解ç ééæ°ï¼å®é
åªæä¸ä¸ªï¼å
¶ä»ä¸ä¸ªä¿çï¼
public const int MAX_TRANSPARENTNUM = 2;//å路解ç å¨å¯é
ç½®æ大éæééæ°
public const int MAX_CYCLE_CHAN = 16; //å路解ç å¨æ大轮循ééæ°
public const int MAX_CYCLE_CHAN_V30 = 64;//æ大轮询ééæ°ï¼æ©å±ï¼
public const int MAX_DIRNAME_LENGTH = 80;//æ大ç®å½é¿åº¦
public const int MAX_STRINGNUM_V30 = 8;//9000设å¤æ大OSDå符è¡æ°æ°
public const int MAX_STRINGNUM = 4;//8000设å¤æ大OSDå符è¡æ°æ°
public const int MAX_STRINGNUM_EX = 8;//8000å®å¶æ©å±
public const int MAX_AUXOUT_V30 = 16;//9000设å¤æ大è¾
å©è¾åºæ°
public const int MAX_AUXOUT = 4;//8000设å¤æ大è¾
å©è¾åºæ°
public const int MAX_HD_GROUP = 16;//9000设å¤æ大硬çç»æ°
public const int MAX_NFS_DISK = 8; //8000设å¤æ大NFS硬çæ°
public const int IW_ESSID_MAX_SIZE = 32;//WIFIçSSIDå·é¿åº¦
public const int IW_ENCODING_TOKEN_MAX = 32;//WIFIå¯éæ大åèæ°
public const int WIFI_WEP_MAX_KEY_COUNT = 4;
public const int WIFI_WEP_MAX_KEY_LENGTH = 33;
public const int WIFI_WPA_PSK_MAX_KEY_LENGTH = 63;
public const int WIFI_WPA_PSK_MIN_KEY_LENGTH = 8;
public const int WIFI_MAX_AP_COUNT = 20;
public const int MAX_SERIAL_NUM = 64;//æå¤æ¯æçéæééè·¯æ°
public const int MAX_DDNS_NUMS = 10;//9000设å¤æ大å¯é
ddnsæ°
public const int MAX_EMAIL_ADDR_LEN = 48;//æ大emailå°åé¿åº¦
public const int MAX_EMAIL_PWD_LEN = 32;//æ大emailå¯ç é¿åº¦
public const int MAXPROGRESS = 100;//åæ¾æ¶çæ大ç¾åç
public const int MAX_SERIALNUM = 2;//8000设å¤æ¯æç串å£æ° 1-232ï¼ 2-485
public const int CARDNUM_LEN = 20;//å¡å·é¿åº¦
public const int CARDNUM_LEN_OUT = 32; //å¤é¨ç»æä½å¡å·é¿åº¦
public const int MAX_VIDEOOUT_V30 = 4;//9000设å¤çè§é¢è¾åºæ°
public const int MAX_VIDEOOUT = 2;//8000设å¤çè§é¢è¾åºæ°
public const int MAX_PRESET_V30 = 256;// 9000设å¤æ¯æçäºå°é¢ç½®ç¹æ°
public const int MAX_TRACK_V30 = 256;// 9000设å¤æ¯æçäºå°è½¨è¿¹æ°
public const int MAX_CRUISE_V30 = 256;// 9000设å¤æ¯æçäºå°å·¡èªæ°
public const int MAX_PRESET = 128;// 8000设å¤æ¯æçäºå°é¢ç½®ç¹æ°
public const int MAX_TRACK = 128;// 8000设å¤æ¯æçäºå°è½¨è¿¹æ°
public const int MAX_CRUISE = 128;// 8000设å¤æ¯æçäºå°å·¡èªæ°
public const int CRUISE_MAX_PRESET_NUMS = 32;// ä¸æ¡å·¡èªæå¤çå·¡èªç¹
public const int MAX_SERIAL_PORT = 8;//9000设å¤æ¯æ232串å£æ°
public const int MAX_PREVIEW_MODE = 8;// 设å¤æ¯ææ大é¢è§æ¨¡å¼æ°ç® 1ç»é¢,4ç»é¢,9ç»é¢,16ç»é¢....
public const int MAX_MATRIXOUT = 16;// æ大模æç©éµè¾åºä¸ªæ°
public const int LOG_INFO_LEN = 11840; // æ¥å¿éå ä¿¡æ¯
public const int DESC_LEN = 16;// äºå°æè¿°å符串é¿åº¦
public const int PTZ_PROTOCOL_NUM = 200;// 9000æ大æ¯æçäºå°åè®®æ°
public const int MAX_AUDIO = 1;//8000è¯é³å¯¹è®²ééæ°
public const int MAX_AUDIO_V30 = 2;//9000è¯é³å¯¹è®²ééæ°
public const int MAX_CHANNUM = 16;//8000设å¤æ大ééæ°
public const int MAX_ALARMIN = 16;//8000设å¤æ大æ¥è¦è¾å
¥æ°
public const int MAX_ALARMOUT = 4;//8000设å¤æ大æ¥è¦è¾åºæ°
//9000 IPCæ¥å
¥
public const int MAX_ANALOG_CHANNUM = 32;//æ大32个模æéé
public const int MAX_ANALOG_ALARMOUT = 32; //æ大32路模ææ¥è¦è¾åº
public const int MAX_ANALOG_ALARMIN = 32;//æ大32路模ææ¥è¦è¾å
¥
public const int MAX_IP_DEVICE = 32;//å
许æ¥å
¥çæ大IP设å¤æ°
public const int MAX_IP_DEVICE_V40 = 64;//å
许æ¥å
¥çæ大IP设å¤æ°
public const int MAX_IP_CHANNEL = 32;//å
许å å
¥çæå¤IPééæ°
public const int MAX_IP_ALARMIN = 128;//å
许å å
¥çæå¤æ¥è¦è¾å
¥æ°
public const int MAX_IP_ALARMOUT = 64;//å
许å å
¥çæå¤æ¥è¦è¾åºæ°
public const int MAX_IP_ALARMIN_V40 = 4096; //å
许å å
¥çæå¤æ¥è¦è¾å
¥æ°
public const int MAX_IP_ALARMOUT_V40 = 4096; //å
许å å
¥çæå¤æ¥è¦è¾åºæ°
public const int MAX_RECORD_FILE_NUM = 20; // æ¯æ¬¡å é¤æè
å»å½çæ大æ件æ°
//SDK_V31 ATM
public const int MAX_ATM_NUM = 1;
public const int MAX_ACTION_TYPE = 12;
public const int ATM_FRAMETYPE_NUM = 4;
public const int MAX_ATM_PROTOCOL_NUM = 1025;
public const int ATM_PROTOCOL_SORT = 4;
public const int ATM_DESC_LEN = 32;
// SDK_V31 ATM
/* æ大æ¯æçééæ° æ大模æå ä¸æ大IPæ¯æ */
public const int MAX_CHANNUM_V30 = MAX_ANALOG_CHANNUM + MAX_IP_CHANNEL;//64
public const int MAX_ALARMOUT_V30 = MAX_ANALOG_ALARMOUT + MAX_IP_ALARMOUT;//96
public const int MAX_ALARMIN_V30 = MAX_ANALOG_ALARMIN + MAX_IP_ALARMIN;//160
public const int MAX_CHANNUM_V40 = 512;
public const int MAX_ALARMOUT_V40 = MAX_IP_ALARMOUT_V40 + MAX_ANALOG_ALARMOUT;//4128
public const int MAX_ALARMIN_V40 = MAX_IP_ALARMIN_V40 + MAX_ANALOG_ALARMOUT;//4128
public const int MAX_HUMAN_PICTURE_NUM = 10; //æ大ç
§çæ°
public const int MAX_HUMAN_BIRTHDATE_LEN = 10;
public const int MAX_LAYERNUMS = 32;
public const int MAX_ROIDETECT_NUM = 8; //æ¯æçROIåºåæ°
public const int MAX_LANERECT_NUM = 5; //æ大车çè¯å«åºåæ°
public const int MAX_FORTIFY_NUM = 10; //æ大å¸é²ä¸ªæ°
public const int MAX_INTERVAL_NUM = 4; //æ大æ¶é´é´é个æ°
public const int MAX_CHJC_NUM = 3; //æ大车è¾ç份ç®ç§°å符个æ°
public const int MAX_VL_NUM = 5; //æ大èæ线å个æ°
public const int MAX_DRIVECHAN_NUM = 16; //æ大车éæ°
public const int MAX_COIL_NUM = 3; //æ大线å个æ°
public const int MAX_SIGNALLIGHT_NUM = 6; //æ大信å·ç¯ä¸ªæ°
public const int LEN_32 = 32;
public const int LEN_31 = 31;
public const int MAX_CABINET_COUNT = 8; //æ大æ¯ææºææ°é
public const int MAX_ID_LEN = 48;
public const int MAX_PARKNO_LEN = 16;
public const int MAX_ALARMREASON_LEN = 32;
public const int MAX_UPGRADE_INFO_LEN= 48; //è·åå级æ件å¹é
ä¿¡æ¯(模ç³å级)
public const int MAX_CUSTOMDIR_LEN = 32; //èªå®ä¹ç®å½é¿åº¦
public const int MAX_TRANSPARENT_CHAN_NUM = 4; //æ¯ä¸ªä¸²å£å
许建ç«çæ大éæééæ°
public const int MAX_TRANSPARENT_ACCESS_NUM = 4; //æ¯ä¸ªçå¬ç«¯å£å
许æ¥å
¥çæ大主æºæ°
//ITS
public const int MAX_PARKING_STATUS = 8; //车ä½ç¶æ 0代表æ 车ï¼1代表æ车ï¼2代表å线(ä¼å
级æé«), 3ç¹æ®è½¦ä½
public const int MAX_PARKING_NUM = 4; //ä¸ä¸ªééæ大4ä¸ªè½¦ä½ (ä»å·¦å°å³è½¦ä½ æ°ç»0ï½3)
public const int MAX_ITS_SCENE_NUM = 16; //æ大åºæ¯æ°é
public const int MAX_SCENE_TIMESEG_NUM = 16; //æ大åºæ¯æ¶é´æ®µæ°é
public const int MAX_IVMS_IP_CHANNEL = 128; //æ大IPééæ°
public const int DEVICE_ID_LEN = 48; //设å¤ç¼å·é¿åº¦
public const int MONITORSITE_ID_LEN = 48; //çæµç¹ç¼å·é¿åº¦
public const int MAX_AUXAREA_NUM = 16; //è¾
å©åºåæ大æ°ç®
public const int MAX_SLAVE_CHANNEL_NUM = 16; //æ大ä»ééæ°é
public const int MAX_SCH_TASKS_NUM = 10;
public const int MAX_SERVERID_LEN = 64; //æ大æå¡å¨IDçé¿åº¦
public const int MAX_SERVERDOMAIN_LEN = 128; //æå¡å¨ååæ大é¿åº¦
public const int MAX_AUTHENTICATEID_LEN = 64; //认è¯IDæ大é¿åº¦
public const int MAX_AUTHENTICATEPASSWD_LEN = 32; //认è¯å¯ç æ大é¿åº¦
public const int MAX_SERVERNAME_LEN = 64; //æ大æå¡å¨ç¨æ·å
public const int MAX_COMPRESSIONID_LEN = 64; //ç¼ç IDçæ大é¿åº¦
public const int MAX_SIPSERVER_ADDRESS_LEN = 128; //SIPæå¡å¨å°åæ¯æåååIPå°å
//å线æ¥è¦
public const int MAX_PlATE_NO_LEN = 32; //车çå·ç æ大é¿åº¦ 2013-09-27
public const int UPNP_PORT_NUM = 12; //upnp端å£æ å°ç«¯å£æ°ç®
public const int MAX_LOCAL_ADDR_LEN = 96; //SOCKSæ大æ¬å°ç½æ®µä¸ªæ°
public const int MAX_COUNTRY_NAME_LEN = 4; //å½å®¶ç®åå称é¿åº¦
//ç æµè¿æ¥æ¹å¼
public const int NORMALCONNECT = 1;
public const int MEDIACONNECT = 2;
//设å¤åå·(大类)
public const int HCDVR = 1;
public const int MEDVR = 2;
public const int PCDVR = 3;
public const int HC_9000 = 4;
public const int HF_I = 5;
public const int PCNVR = 6;
public const int HC_76NVR = 8;
//NVRç±»å
public const int DS8000HC_NVR = 0;
public const int DS9000HC_NVR = 1;
public const int DS8000ME_NVR = 2;
/*******************å
¨å±é误ç begin**********************/
public const int NET_DVR_NOERROR = 0;//没æé误
public const int NET_DVR_PASSWORD_ERROR = 1;//ç¨æ·åå¯ç é误
public const int NET_DVR_NOENOUGHPRI = 2;//æéä¸è¶³
public const int NET_DVR_NOINIT = 3;//没æåå§å
public const int NET_DVR_CHANNEL_ERROR = 4;//ééå·é误
public const int NET_DVR_OVER_MAXLINK = 5;//è¿æ¥å°DVRç客æ·ç«¯ä¸ªæ°è¶
è¿æ大
public const int NET_DVR_VERSIONNOMATCH = 6;//çæ¬ä¸å¹é
public const int NET_DVR_NETWORK_FAIL_CONNECT = 7;//è¿æ¥æå¡å¨å¤±è´¥
public const int NET_DVR_NETWORK_SEND_ERROR = 8;//åæå¡å¨åé失败
public const int NET_DVR_NETWORK_RECV_ERROR = 9;//ä»æå¡å¨æ¥æ¶æ°æ®å¤±è´¥
public const int NET_DVR_NETWORK_RECV_TIMEOUT = 10;//ä»æå¡å¨æ¥æ¶æ°æ®è¶
æ¶
public const int NET_DVR_NETWORK_ERRORDATA = 11;//ä¼ éçæ°æ®æ误
public const int NET_DVR_ORDER_ERROR = 12;//è°ç¨æ¬¡åºé误
public const int NET_DVR_OPERNOPERMIT = 13;//æ æ¤æé
public const int NET_DVR_COMMANDTIMEOUT = 14;//DVRå½ä»¤æ§è¡è¶
æ¶
public const int NET_DVR_ERRORSERIALPORT = 15;//串å£å·é误
public const int NET_DVR_ERRORALARMPORT = 16;//æ¥è¦ç«¯å£é误
public const int NET_DVR_PARAMETER_ERROR = 17;//åæ°é误
public const int NET_DVR_CHAN_EXCEPTION = 18;//æå¡å¨ééå¤äºé误ç¶æ
public const int NET_DVR_NODISK = 19;//没æ硬ç
public const int NET_DVR_ERRORDISKNUM = 20;//硬çå·é误
public const int NET_DVR_DISK_FULL = 21;//æå¡å¨ç¡¬ç满
public const int NET_DVR_DISK_ERROR = 22;//æå¡å¨ç¡¬çåºé
public const int NET_DVR_NOSUPPORT = 23;//æå¡å¨ä¸æ¯æ
public const int NET_DVR_BUSY = 24;//æå¡å¨å¿
public const int NET_DVR_MODIFY_FAIL = 25;//æå¡å¨ä¿®æ¹ä¸æå
public const int NET_DVR_PASSWORD_FORMAT_ERROR = 26;//å¯ç è¾å
¥æ ¼å¼ä¸æ£ç¡®
public const int NET_DVR_DISK_FORMATING = 27;//硬çæ£å¨æ ¼å¼åï¼ä¸è½å¯å¨æä½
public const int NET_DVR_DVRNORESOURCE = 28;//DVRèµæºä¸è¶³
public const int NET_DVR_DVROPRATEFAILED = 29;//DVRæä½å¤±è´¥
public const int NET_DVR_OPENHOSTSOUND_FAIL = 30;//æå¼PC声é³å¤±è´¥
public const int NET_DVR_DVRVOICEOPENED = 31;//æå¡å¨è¯é³å¯¹è®²è¢«å ç¨
public const int NET_DVR_TIMEINPUTERROR = 32;//æ¶é´è¾å
¥ä¸æ£ç¡®
public const int NET_DVR_NOSPECFILE = 33;//åæ¾æ¶æå¡å¨æ²¡ææå®çæ件
public const int NET_DVR_CREATEFILE_ERROR = 34;//å建æ件åºé
public const int NET_DVR_FILEOPENFAIL = 35;//æå¼æ件åºé
public const int NET_DVR_OPERNOTFINISH = 36; //ä¸æ¬¡çæä½è¿æ²¡æå®æ
public const int NET_DVR_GETPLAYTIMEFAIL = 37;//è·åå½åææ¾çæ¶é´åºé
public const int NET_DVR_PLAYFAIL = 38;//ææ¾åºé
public const int NET_DVR_FILEFORMAT_ERROR = 39;//æä»¶æ ¼å¼ä¸æ£ç¡®
public const int NET_DVR_DIR_ERROR = 40;//è·¯å¾é误
public const int NET_DVR_ALLOC_RESOURCE_ERROR = 41;//èµæºåé
é误
public const int NET_DVR_AUDIO_MODE_ERROR = 42;//声å¡æ¨¡å¼é误
public const int NET_DVR_NOENOUGH_BUF = 43;//ç¼å²åºå¤ªå°
public const int NET_DVR_CREATESOCKET_ERROR = 44;//å建SOCKETåºé
public const int NET_DVR_SETSOCKET_ERROR = 45;//设置SOCKETåºé
public const int NET_DVR_MAX_NUM = 46;//个æ°è¾¾å°æ大
public const int NET_DVR_USERNOTEXIST = 47;//ç¨æ·ä¸åå¨
public const int NET_DVR_WRITEFLASHERROR = 48;//åFLASHåºé
public const int NET_DVR_UPGRADEFAIL = 49;//DVRå级失败
public const int NET_DVR_CARDHAVEINIT = 50;//解ç å¡å·²ç»åå§åè¿
public const int NET_DVR_PLAYERFAILED = 51;//è°ç¨ææ¾åºä¸æ个å½æ°å¤±è´¥
public const int NET_DVR_MAX_USERNUM = 52;//设å¤ç«¯ç¨æ·æ°è¾¾å°æ大
public const int NET_DVR_GETLOCALIPANDMACFAIL = 53;//è·å¾å®¢æ·ç«¯çIPå°åæç©çå°å失败
public const int NET_DVR_NOENCODEING = 54;//该éé没æç¼ç
public const int NET_DVR_IPMISMATCH = 55;//IPå°åä¸å¹é
public const int NET_DVR_MACMISMATCH = 56;//MACå°åä¸å¹é
public const int NET_DVR_UPGRADELANGMISMATCH = 57;//å级æ件è¯è¨ä¸å¹é
public const int NET_DVR_MAX_PLAYERPORT = 58;//ææ¾å¨è·¯æ°è¾¾å°æ大
public const int NET_DVR_NOSPACEBACKUP = 59;//å¤ä»½è®¾å¤ä¸æ²¡æ足å¤ç©ºé´è¿è¡å¤ä»½
public const int NET_DVR_NODEVICEBACKUP = 60;//没ææ¾å°æå®çå¤ä»½è®¾å¤
public const int NET_DVR_PICTURE_BITS_ERROR = 61;//å¾åç´ ä½æ°ä¸ç¬¦ï¼é24è²
public const int NET_DVR_PICTURE_DIMENSION_ERROR = 62;//å¾çé«*宽è¶
éï¼ é128*256
public const int NET_DVR_PICTURE_SIZ_ERROR = 63;//å¾ç大å°è¶
éï¼é100K
public const int NET_DVR_LOADPLAYERSDKFAILED = 64;//è½½å
¥å½åç®å½ä¸Player Sdkåºé
public const int NET_DVR_LOADPLAYERSDKPROC_ERROR = 65;//æ¾ä¸å°Player Sdkä¸æ个å½æ°å
¥å£
public const int NET_DVR_LOADDSSDKFAILED = 66;//è½½å
¥å½åç®å½ä¸DSsdkåºé
public const int NET_DVR_LOADDSSDKPROC_ERROR = 67;//æ¾ä¸å°DsSdkä¸æ个å½æ°å
¥å£
public const int NET_DVR_DSSDK_ERROR = 68;//è°ç¨ç¡¬è§£ç åºDsSdkä¸æ个å½æ°å¤±è´¥
public const int NET_DVR_VOICEMONOPOLIZE = 69;//声å¡è¢«ç¬å
public const int NET_DVR_JOINMULTICASTFAILED = 70;//å å
¥å¤æç»å¤±è´¥
public const int NET_DVR_CREATEDIR_ERROR = 71;//建ç«æ¥å¿æ件ç®å½å¤±è´¥
public const int NET_DVR_BINDSOCKET_ERROR = 72;//ç»å®å¥æ¥å失败
public const int NET_DVR_SOCKETCLOSE_ERROR = 73;//socketè¿æ¥ä¸æï¼æ¤é误é常æ¯ç±äºè¿æ¥ä¸ææç®çå°ä¸å¯è¾¾
public const int NET_DVR_USERID_ISUSING = 74;//注éæ¶ç¨æ·IDæ£å¨è¿è¡ææä½
public const int NET_DVR_SOCKETLISTEN_ERROR = 75;//çå¬å¤±è´¥
public const int NET_DVR_PROGRAM_EXCEPTION = 76;//ç¨åºå¼å¸¸
public const int NET_DVR_WRITEFILE_FAILED = 77;//åæ件失败
public const int NET_DVR_FORMAT_READONLY = 78;//ç¦æ¢æ ¼å¼ååªè¯»ç¡¬ç
public const int NET_DVR_WITHSAMEUSERNAME = 79;//ç¨æ·é
ç½®ç»æä¸åå¨ç¸åçç¨æ·å
public const int NET_DVR_DEVICETYPE_ERROR = 80;//导å
¥åæ°æ¶è®¾å¤åå·ä¸å¹é
public const int NET_DVR_LANGUAGE_ERROR = 81;//导å
¥åæ°æ¶è¯è¨ä¸å¹é
public const int NET_DVR_PARAVERSION_ERROR = 82;//导å
¥åæ°æ¶è½¯ä»¶çæ¬ä¸å¹é
public const int NET_DVR_IPCHAN_NOTALIVE = 83; //é¢è§æ¶å¤æ¥IPééä¸å¨çº¿
public const int NET_DVR_RTSP_SDK_ERROR = 84;//å è½½é«æ¸
IPCé讯åºStreamTransClient.dll失败
public const int NET_DVR_CONVERT_SDK_ERROR = 85;//å 载转ç åºå¤±è´¥
public const int NET_DVR_IPC_COUNT_OVERFLOW = 86;//è¶
åºæ大çipæ¥å
¥ééæ°
public const int NET_PLAYM4_NOERROR = 500;//no error
public const int NET_PLAYM4_PARA_OVER = 501;//input parameter is invalid
public const int NET_PLAYM4_ORDER_ERROR = 502;//The order of the function to be called is error
public const int NET_PLAYM4_TIMER_ERROR = 503;//Create multimedia clock failed
public const int NET_PLAYM4_DEC_VIDEO_ERROR = 504;//Decode video data failed
public const int NET_PLAYM4_DEC_AUDIO_ERROR = 505;//Decode audio data failed
public const int NET_PLAYM4_ALLOC_MEMORY_ERROR = 506;//Allocate memory failed
public const int NET_PLAYM4_OPEN_FILE_ERROR = 507;//Open the file failed
public const int NET_PLAYM4_CREATE_OBJ_ERROR = 508;//Create thread or event failed
public const int NET_PLAYM4_CREATE_DDRAW_ERROR = 509;//Create DirectDraw object failed
public const int NET_PLAYM4_CREATE_OFFSCREEN_ERROR = 510;//failed when creating off-screen surface
public const int NET_PLAYM4_BUF_OVER = 511;//buffer is overflow
public const int NET_PLAYM4_CREATE_SOUND_ERROR = 512;//failed when creating audio device
public const int NET_PLAYM4_SET_VOLUME_ERROR = 513;//Set volume failed
public const int NET_PLAYM4_SUPPORT_FILE_ONLY = 514;//The function only support play file
public const int NET_PLAYM4_SUPPORT_STREAM_ONLY = 515;//The function only support play stream
public const int NET_PLAYM4_SYS_NOT_SUPPORT = 516;//System not support
public const int NET_PLAYM4_FILEHEADER_UNKNOWN = 517;//No file header
public const int NET_PLAYM4_VERSION_INCORRECT = 518;//The version of decoder and encoder is not adapted
public const int NET_PALYM4_INIT_DECODER_ERROR = 519;//Initialize decoder failed
public const int NET_PLAYM4_CHECK_FILE_ERROR = 520;//The file data is unknown
public const int NET_PLAYM4_INIT_TIMER_ERROR = 521;//Initialize multimedia clock failed
public const int NET_PLAYM4_BLT_ERROR = 522;//Blt failed
public const int NET_PLAYM4_UPDATE_ERROR = 523;//Update failed
public const int NET_PLAYM4_OPEN_FILE_ERROR_MULTI = 524;//openfile error, streamtype is multi
public const int NET_PLAYM4_OPEN_FILE_ERROR_VIDEO = 525;//openfile error, streamtype is video
public const int NET_PLAYM4_JPEG_COMPRESS_ERROR = 526;//JPEG compress error
public const int NET_PLAYM4_EXTRACT_NOT_SUPPORT = 527;//Don't support the version of this file
public const int NET_PLAYM4_EXTRACT_DATA_ERROR = 528;//extract video data failed
/*******************å
¨å±é误ç end**********************/
/*************************************************
NET_DVR_IsSupport()è¿åå¼
1ï¼9ä½åå«è¡¨ç¤ºä»¥ä¸ä¿¡æ¯ï¼ä½ä¸æ¯TRUE)表示æ¯æï¼
**************************************************/
public const int NET_DVR_SUPPORT_DDRAW = 1;//æ¯æDIRECTDRAWï¼å¦æä¸æ¯æï¼åææ¾å¨ä¸è½å·¥ä½
public const int NET_DVR_SUPPORT_BLT = 2;//æ¾å¡æ¯æBLTæä½ï¼å¦æä¸æ¯æï¼åææ¾å¨ä¸è½å·¥ä½
public const int NET_DVR_SUPPORT_BLTFOURCC = 4;//æ¾å¡BLTæ¯æé¢è²è½¬æ¢ï¼å¦æä¸æ¯æï¼ææ¾å¨ä¼ç¨è½¯ä»¶æ¹æ³ä½RGB转æ¢
public const int NET_DVR_SUPPORT_BLTSHRINKX = 8;//æ¾å¡BLTæ¯æX轴缩å°ï¼å¦æä¸æ¯æï¼ç³»ç»ä¼ç¨è½¯ä»¶æ¹æ³è½¬æ¢
public const int NET_DVR_SUPPORT_BLTSHRINKY = 16;//æ¾å¡BLTæ¯æY轴缩å°ï¼å¦æä¸æ¯æï¼ç³»ç»ä¼ç¨è½¯ä»¶æ¹æ³è½¬æ¢
public const int NET_DVR_SUPPORT_BLTSTRETCHX = 32;//æ¾å¡BLTæ¯æXè½´æ¾å¤§ï¼å¦æä¸æ¯æï¼ç³»ç»ä¼ç¨è½¯ä»¶æ¹æ³è½¬æ¢
public const int NET_DVR_SUPPORT_BLTSTRETCHY = 64;//æ¾å¡BLTæ¯æYè½´æ¾å¤§ï¼å¦æä¸æ¯æï¼ç³»ç»ä¼ç¨è½¯ä»¶æ¹æ³è½¬æ¢
public const int NET_DVR_SUPPORT_SSE = 128;//CPUæ¯æSSEæ令ï¼Intel Pentium3以ä¸æ¯æSSEæ令
public const int NET_DVR_SUPPORT_MMX = 256;//CPUæ¯æMMXæ令éï¼Intel Pentium3以ä¸æ¯æSSEæ令
/**********************äºå°æ§å¶å½ä»¤ begin*************************/
public const int LIGHT_PWRON = 2;// æ¥éç¯å
çµæº
public const int WIPER_PWRON = 3;// æ¥éé¨å·å¼å
³
public const int FAN_PWRON = 4;// æ¥éé£æå¼å
³
public const int HEATER_PWRON = 5;// æ¥éå çå¨å¼å
³
public const int AUX_PWRON1 = 6;// æ¥éè¾
å©è®¾å¤å¼å
³
public const int AUX_PWRON2 = 7;// æ¥éè¾
å©è®¾å¤å¼å
³
public const int SET_PRESET = 8;// 设置é¢ç½®ç¹
public const int CLE_PRESET = 9;// æ¸
é¤é¢ç½®ç¹
public const int ZOOM_IN = 11;// ç¦è·ä»¥é度SSå大(åçå大)
public const int ZOOM_OUT = 12;// ç¦è·ä»¥é度SSåå°(åçåå°)
public const int FOCUS_NEAR = 13;// ç¦ç¹ä»¥é度SSåè°
public const int FOCUS_FAR = 14;// ç¦ç¹ä»¥é度SSåè°
public const int IRIS_OPEN = 15;// å
å以é度SSæ©å¤§
public const int IRIS_CLOSE = 16;// å
å以é度SS缩å°
public const int TILT_UP = 21;/* äºå°ä»¥SSçé度ä¸ä»° */
public const int TILT_DOWN = 22;/* äºå°ä»¥SSçé度ä¸ä¿¯ */
public const int PAN_LEFT = 23;/* äºå°ä»¥SSçé度左转 */
public const int PAN_RIGHT = 24;/* äºå°ä»¥SSçé度å³è½¬ */
public const int UP_LEFT = 25;/* äºå°ä»¥SSçé度ä¸ä»°å左转 */
public const int UP_RIGHT = 26;/* äºå°ä»¥SSçé度ä¸ä»°åå³è½¬ */
public const int DOWN_LEFT = 27;/* äºå°ä»¥SSçé度ä¸ä¿¯å左转 */
public const int DOWN_RIGHT = 28;/* äºå°ä»¥SSçé度ä¸ä¿¯åå³è½¬ */
public const int PAN_AUTO = 29;/* äºå°ä»¥SSçé度左å³èªå¨æ«æ */
public const int FILL_PRE_SEQ = 30;/* å°é¢ç½®ç¹å å
¥å·¡èªåºå */
public const int SET_SEQ_DWELL = 31;/* 设置巡èªç¹åé¡¿æ¶é´ */
public const int SET_SEQ_SPEED = 32;/* 设置巡èªé度 */
public const int CLE_PRE_SEQ = 33;/* å°é¢ç½®ç¹ä»å·¡èªåºåä¸å é¤ */
public const int STA_MEM_CRUISE = 34;/* å¼å§è®°å½è½¨è¿¹ */
public const int STO_MEM_CRUISE = 35;/* åæ¢è®°å½è½¨è¿¹ */
public const int RUN_CRUISE = 36;/* å¼å§è½¨è¿¹ */
public const int RUN_SEQ = 37;/* å¼å§å·¡èª */
public const int STOP_SEQ = 38;/* åæ¢å·¡èª */
public const int GOTO_PRESET = 39;/* å¿«ç转å°é¢ç½®ç¹ */
/**********************äºå°æ§å¶å½ä»¤ end*************************/
/*************************************************
åæ¾æ¶ææ¾æ§å¶å½ä»¤å®å®ä¹
NET_DVR_PlayBackControl
NET_DVR_PlayControlLocDisplay
NET_DVR_DecPlayBackCtrlçå®å®ä¹
å
·ä½æ¯ææ¥çå½æ°è¯´æå代ç
**************************************************/
public const int NET_DVR_PLAYSTART = 1;//å¼å§ææ¾
public const int NET_DVR_PLAYSTOP = 2;//åæ¢ææ¾
public const int NET_DVR_PLAYPAUSE = 3;//æåææ¾
public const int NET_DVR_PLAYRESTART = 4;//æ¢å¤ææ¾
public const int NET_DVR_PLAYFAST = 5;//å¿«æ¾
public const int NET_DVR_PLAYSLOW = 6;//æ
¢æ¾
public const int NET_DVR_PLAYNORMAL = 7;//æ£å¸¸é度
public const int NET_DVR_PLAYFRAME = 8;//å帧æ¾
public const int NET_DVR_PLAYSTARTAUDIO = 9;//æå¼å£°é³
public const int NET_DVR_PLAYSTOPAUDIO = 10;//å
³é声é³
public const int NET_DVR_PLAYAUDIOVOLUME = 11;//è°èé³é
public const int NET_DVR_PLAYSETPOS = 12;//æ¹åæ件åæ¾çè¿åº¦
public const int NET_DVR_PLAYGETPOS = 13;//è·åæ件åæ¾çè¿åº¦
public const int NET_DVR_PLAYGETTIME = 14;//è·åå½åå·²ç»ææ¾çæ¶é´(ææ件åæ¾çæ¶åææ)
public const int NET_DVR_PLAYGETFRAME = 15;//è·åå½åå·²ç»ææ¾ç帧æ°(ææ件åæ¾çæ¶åææ)
public const int NET_DVR_GETTOTALFRAMES = 16;//è·åå½åææ¾æ件æ»ç帧æ°(ææ件åæ¾çæ¶åææ)
public const int NET_DVR_GETTOTALTIME = 17;//è·åå½åææ¾æ件æ»çæ¶é´(ææ件åæ¾çæ¶åææ)
public const int NET_DVR_THROWBFRAME = 20;//丢B帧
public const int NET_DVR_SETSPEED = 24;//设置ç æµé度
public const int NET_DVR_KEEPALIVE = 25;//ä¿æä¸è®¾å¤çå¿è·³(å¦æåè°é»å¡ï¼å»ºè®®2ç§åéä¸æ¬¡)
public const int NET_DVR_PLAYSETTIME = 26;//æç»å¯¹æ¶é´å®ä½
public const int NET_DVR_PLAYGETTOTALLEN = 27;//è·åææ¶é´åæ¾å¯¹åºæ¶é´æ®µå
çæææ件çæ»é¿åº¦
public const int NET_DVR_PLAY_FORWARD = 29;//åæ¾åæ¢ä¸ºæ£æ¾
public const int NET_DVR_PLAY_REVERSE = 30;//æ£æ¾åæ¢ä¸ºåæ¾
public const int NET_DVR_SET_TRANS_TYPE = 32;//设置转å°è£
ç±»å
public const int NET_DVR_PLAY_CONVERT = 33;//æ£æ¾åæ¢ä¸ºåæ¾
//è¿ç¨æé®å®ä¹å¦ä¸ï¼
/* key value send to CONFIG program */
public const int KEY_CODE_1 = 1;
public const int KEY_CODE_2 = 2;
public const int KEY_CODE_3 = 3;
public const int KEY_CODE_4 = 4;
public const int KEY_CODE_5 = 5;
public const int KEY_CODE_6 = 6;
public const int KEY_CODE_7 = 7;
public const int KEY_CODE_8 = 8;
public const int KEY_CODE_9 = 9;
public const int KEY_CODE_0 = 10;
public const int KEY_CODE_POWER = 11;
public const int KEY_CODE_MENU = 12;
public const int KEY_CODE_ENTER = 13;
public const int KEY_CODE_CANCEL = 14;
public const int KEY_CODE_UP = 15;
public const int KEY_CODE_DOWN = 16;
public const int KEY_CODE_LEFT = 17;
public const int KEY_CODE_RIGHT = 18;
public const int KEY_CODE_EDIT = 19;
public const int KEY_CODE_ADD = 20;
public const int KEY_CODE_MINUS = 21;
public const int KEY_CODE_PLAY = 22;
public const int KEY_CODE_REC = 23;
public const int KEY_CODE_PAN = 24;
public const int KEY_CODE_M = 25;
public const int KEY_CODE_A = 26;
public const int KEY_CODE_F1 = 27;
public const int KEY_CODE_F2 = 28;
/* for PTZ control */
public const int KEY_PTZ_UP_START = KEY_CODE_UP;
public const int KEY_PTZ_UP_STOP = 32;
public const int KEY_PTZ_DOWN_START = KEY_CODE_DOWN;
public const int KEY_PTZ_DOWN_STOP = 33;
public const int KEY_PTZ_LEFT_START = KEY_CODE_LEFT;
public const int KEY_PTZ_LEFT_STOP = 34;
public const int KEY_PTZ_RIGHT_START = KEY_CODE_RIGHT;
public const int KEY_PTZ_RIGHT_STOP = 35;
public const int KEY_PTZ_AP1_START = KEY_CODE_EDIT;/* å
å+ */
public const int KEY_PTZ_AP1_STOP = 36;
public const int KEY_PTZ_AP2_START = KEY_CODE_PAN;/* å
å- */
public const int KEY_PTZ_AP2_STOP = 37;
public const int KEY_PTZ_FOCUS1_START = KEY_CODE_A;/* èç¦+ */
public const int KEY_PTZ_FOCUS1_STOP = 38;
public const int KEY_PTZ_FOCUS2_START = KEY_CODE_M;/* èç¦- */
public const int KEY_PTZ_FOCUS2_STOP = 39;
public const int KEY_PTZ_B1_START = 40;/* åå+ */
public const int KEY_PTZ_B1_STOP = 41;
public const int KEY_PTZ_B2_START = 42;/* åå- */
public const int KEY_PTZ_B2_STOP = 43;
//9000æ°å¢
public const int KEY_CODE_11 = 44;
public const int KEY_CODE_12 = 45;
public const int KEY_CODE_13 = 46;
public const int KEY_CODE_14 = 47;
public const int KEY_CODE_15 = 48;
public const int KEY_CODE_16 = 49;
/*************************åæ°é
ç½®å½ä»¤ begin*******************************/
//ç¨äºNET_DVR_SetDVRConfigåNET_DVR_GetDVRConfig,注æå
¶å¯¹åºçé
ç½®ç»æ
public const int NET_DVR_GET_DEVICECFG = 100;//è·å设å¤åæ°
public const int NET_DVR_SET_DEVICECFG = 101;//设置设å¤åæ°
public const int NET_DVR_GET_NETCFG = 102;//è·åç½ç»åæ°
public const int NET_DVR_SET_NETCFG = 103;//设置ç½ç»åæ°
public const int NET_DVR_GET_PICCFG = 104;//è·åå¾è±¡åæ°
public const int NET_DVR_SET_PICCFG = 105;//设置å¾è±¡åæ°
public const int NET_DVR_GET_COMPRESSCFG = 106;//è·åå缩åæ°
public const int NET_DVR_SET_COMPRESSCFG = 107;//设置å缩åæ°
public const int NET_DVR_GET_RECORDCFG = 108;//è·åå½åæ¶é´åæ°
public const int NET_DVR_SET_RECORDCFG = 109;//设置å½åæ¶é´åæ°
public const int NET_DVR_GET_DECODERCFG = 110;//è·å解ç å¨åæ°
public const int NET_DVR_SET_DECODERCFG = 111;//设置解ç å¨åæ°
public const int NET_DVR_GET_RS232CFG = 112;//è·å232串å£åæ°
public const int NET_DVR_SET_RS232CFG = 113;//设置232串å£åæ°
public const int NET_DVR_GET_ALARMINCFG = 114;//è·åæ¥è¦è¾å
¥åæ°
public const int NET_DVR_SET_ALARMINCFG = 115;//设置æ¥è¦è¾å
¥åæ°
public const int NET_DVR_GET_ALARMOUTCFG = 116;//è·åæ¥è¦è¾åºåæ°
public const int NET_DVR_SET_ALARMOUTCFG = 117;//设置æ¥è¦è¾åºåæ°
public const int NET_DVR_GET_TIMECFG = 118;//è·åDVRæ¶é´
public const int NET_DVR_SET_TIMECFG = 119;//设置DVRæ¶é´
public const int NET_DVR_GET_PREVIEWCFG = 120;//è·åé¢è§åæ°
public const int NET_DVR_SET_PREVIEWCFG = 121;//设置é¢è§åæ°
public const int NET_DVR_GET_VIDEOOUTCFG = 122;//è·åè§é¢è¾åºåæ°
public const int NET_DVR_SET_VIDEOOUTCFG = 123;//设置è§é¢è¾åºåæ°
public const int NET_DVR_GET_USERCFG = 124;//è·åç¨æ·åæ°
public const int NET_DVR_SET_USERCFG = 125;//设置ç¨æ·åæ°
public const int NET_DVR_GET_EXCEPTIONCFG = 126;//è·åå¼å¸¸åæ°
public const int NET_DVR_SET_EXCEPTIONCFG = 127;//设置å¼å¸¸åæ°
public const int NET_DVR_GET_ZONEANDDST = 128;//è·åæ¶åºåå¤æ¶å¶åæ°
public const int NET_DVR_SET_ZONEANDDST = 129;//设置æ¶åºåå¤æ¶å¶åæ°
public const int NET_DVR_GET_SHOWSTRING = 130;//è·åå å å符åæ°
public const int NET_DVR_SET_SHOWSTRING = 131;//设置å å å符åæ°
public const int NET_DVR_GET_EVENTCOMPCFG = 132;//è·åäºä»¶è§¦åå½ååæ°
public const int NET_DVR_SET_EVENTCOMPCFG = 133;//设置äºä»¶è§¦åå½ååæ°
public const int NET_DVR_GET_AUXOUTCFG = 140;//è·åæ¥è¦è§¦åè¾
å©è¾åºè®¾ç½®(HS设å¤è¾
å©è¾åº2006-02-28)
public const int NET_DVR_SET_AUXOUTCFG = 141;//设置æ¥è¦è§¦åè¾
å©è¾åºè®¾ç½®(HS设å¤è¾
å©è¾åº2006-02-28)
public const int NET_DVR_GET_PREVIEWCFG_AUX = 142;//è·å-sç³»ååè¾åºé¢è§åæ°(-sç³»ååè¾åº2006-04-13)
public const int NET_DVR_SET_PREVIEWCFG_AUX = 143;//设置-sç³»ååè¾åºé¢è§åæ°(-sç³»ååè¾åº2006-04-13)
public const int NET_DVR_GET_PICCFG_EX = 200;//è·åå¾è±¡åæ°(SDK_V14æ©å±å½ä»¤)
public const int NET_DVR_SET_PICCFG_EX = 201;//设置å¾è±¡åæ°(SDK_V14æ©å±å½ä»¤)
public const int NET_DVR_GET_USERCFG_EX = 202;//è·åç¨æ·åæ°(SDK_V15æ©å±å½ä»¤)
public const int NET_DVR_SET_USERCFG_EX = 203;//设置ç¨æ·åæ°(SDK_V15æ©å±å½ä»¤)
public const int NET_DVR_GET_COMPRESSCFG_EX = 204;//è·åå缩åæ°(SDK_V15æ©å±å½ä»¤2006-05-15)
public const int NET_DVR_SET_COMPRESSCFG_EX = 205;//设置å缩åæ°(SDK_V15æ©å±å½ä»¤2006-05-15)
public const int NET_DVR_GET_NETAPPCFG = 222;//è·åç½ç»åºç¨åæ° NTP/DDNS/EMAIL
public const int NET_DVR_SET_NETAPPCFG = 223;//设置ç½ç»åºç¨åæ° NTP/DDNS/EMAIL
public const int NET_DVR_GET_NTPCFG = 224;//è·åç½ç»åºç¨åæ° NTP
public const int NET_DVR_SET_NTPCFG = 225;//设置ç½ç»åºç¨åæ° NTP
public const int NET_DVR_GET_DDNSCFG = 226;//è·åç½ç»åºç¨åæ° DDNS
public const int NET_DVR_SET_DDNSCFG = 227;//设置ç½ç»åºç¨åæ° DDNS
//对åºNET_DVR_EMAILPARA
public const int NET_DVR_GET_EMAILCFG = 228;//è·åç½ç»åºç¨åæ° EMAIL
public const int NET_DVR_SET_EMAILCFG = 229;//设置ç½ç»åºç¨åæ° EMAIL
public const int NET_DVR_GET_NFSCFG = 230;/* NFS disk config */
public const int NET_DVR_SET_NFSCFG = 231;/* NFS disk config */
public const int NET_DVR_GET_SHOWSTRING_EX = 238;//è·åå å å符åæ°æ©å±(æ¯æ8æ¡å符)
public const int NET_DVR_SET_SHOWSTRING_EX = 239;//设置å å å符åæ°æ©å±(æ¯æ8æ¡å符)
public const int NET_DVR_GET_NETCFG_OTHER = 244;//è·åç½ç»åæ°
public const int NET_DVR_SET_NETCFG_OTHER = 245;//设置ç½ç»åæ°
//对åºNET_DVR_EMAILCFGç»æ
public const int NET_DVR_GET_EMAILPARACFG = 250;//Get EMAIL parameters
public const int NET_DVR_SET_EMAILPARACFG = 251;//Setup EMAIL parameters
public const int NET_DVR_GET_DDNSCFG_EX = 274;//è·åæ©å±DDNSåæ°
public const int NET_DVR_SET_DDNSCFG_EX = 275;//设置æ©å±DDNSåæ°
public const int NET_DVR_SET_PTZPOS = 292;//äºå°è®¾ç½®PTZä½ç½®
public const int NET_DVR_GET_PTZPOS = 293;//äºå°è·åPTZä½ç½®
public const int NET_DVR_GET_PTZSCOPE = 294;//äºå°è·åPTZèå´
public const int NET_DVR_GET_AP_INFO_LIST = 305;//è·åæ 线ç½ç»èµæºåæ°
public const int NET_DVR_SET_WIFI_CFG = 306;//设置IPçæ§è®¾å¤æ 线åæ°
public const int NET_DVR_GET_WIFI_CFG = 307;//è·åIPçæ§è®¾å¤æ 线åæ°
public const int NET_DVR_SET_WIFI_WORKMODE = 308;//设置IPçæ§è®¾å¤ç½å£å·¥ä½æ¨¡å¼åæ°
public const int NET_DVR_GET_WIFI_WORKMODE = 309;//è·åIPçæ§è®¾å¤ç½å£å·¥ä½æ¨¡å¼åæ°
public const int NET_DVR_GET_WIFI_STATUS = 310; //è·å设å¤å½åwifiè¿æ¥ç¶æ
/***************************DS9000æ°å¢å½ä»¤(_V30) begin *****************************/
//ç½ç»(NET_DVR_NETCFG_V30ç»æ)
public const int NET_DVR_GET_NETCFG_V30 = 1000;//è·åç½ç»åæ°
public const int NET_DVR_SET_NETCFG_V30 = 1001;//设置ç½ç»åæ°
//å¾è±¡(NET_DVR_PICCFG_V30ç»æ)
public const int NET_DVR_GET_PICCFG_V30 = 1002;//è·åå¾è±¡åæ°
public const int NET_DVR_SET_PICCFG_V30 = 1003;//设置å¾è±¡åæ°
//å½åæ¶é´(NET_DVR_RECORD_V30ç»æ)
public const int NET_DVR_GET_RECORDCFG_V30 = 1004;//è·åå½ååæ°
public const int NET_DVR_SET_RECORDCFG_V30 = 1005;//设置å½ååæ°
//ç¨æ·(NET_DVR_USER_V30ç»æ)
public const int NET_DVR_GET_USERCFG_V30 = 1006;//è·åç¨æ·åæ°
public const int NET_DVR_SET_USERCFG_V30 = 1007;//设置ç¨æ·åæ°
//9000DDNSåæ°é
ç½®(NET_DVR_DDNSPARA_V30ç»æ)
public const int NET_DVR_GET_DDNSCFG_V30 = 1010;//è·åDDNS(9000æ©å±)
public const int NET_DVR_SET_DDNSCFG_V30 = 1011;//设置DDNS(9000æ©å±)
//EMAILåè½(NET_DVR_EMAILCFG_V30ç»æ)
public const int NET_DVR_GET_EMAILCFG_V30 = 1012;//è·åEMAILåæ°
public const int NET_DVR_SET_EMAILCFG_V30 = 1013;//设置EMAILåæ°
//å·¡èªåæ° (NET_DVR_CRUISE_PARAç»æ)
public const int NET_DVR_GET_CRUISE = 1020;
public const int NET_DVR_SET_CRUISE = 1021;
//æ¥è¦è¾å
¥ç»æåæ° (NET_DVR_ALARMINCFG_V30ç»æ)
public const int NET_DVR_GET_ALARMINCFG_V30 = 1024;
public const int NET_DVR_SET_ALARMINCFG_V30 = 1025;
//æ¥è¦è¾åºç»æåæ° (NET_DVR_ALARMOUTCFG_V30ç»æ)
public const int NET_DVR_GET_ALARMOUTCFG_V30 = 1026;
public const int NET_DVR_SET_ALARMOUTCFG_V30 = 1027;
//è§é¢è¾åºç»æåæ° (NET_DVR_VIDEOOUT_V30ç»æ)
public const int NET_DVR_GET_VIDEOOUTCFG_V30 = 1028;
public const int NET_DVR_SET_VIDEOOUTCFG_V30 = 1029;
//å å å符ç»æåæ° (NET_DVR_SHOWSTRING_V30ç»æ)
public const int NET_DVR_GET_SHOWSTRING_V30 = 1030;
public const int NET_DVR_SET_SHOWSTRING_V30 = 1031;
//å¼å¸¸ç»æåæ° (NET_DVR_EXCEPTION_V30ç»æ)
public const int NET_DVR_GET_EXCEPTIONCFG_V30 = 1034;
public const int NET_DVR_SET_EXCEPTIONCFG_V30 = 1035;
//串å£232ç»æåæ° (NET_DVR_RS232CFG_V30ç»æ)
public const int NET_DVR_GET_RS232CFG_V30 = 1036;
public const int NET_DVR_SET_RS232CFG_V30 = 1037;
//ç½ç»ç¡¬çæ¥å
¥ç»æåæ° (NET_DVR_NET_DISKCFGç»æ)
public const int NET_DVR_GET_NET_DISKCFG = 1038;//ç½ç»ç¡¬çæ¥å
¥è·å
public const int NET_DVR_SET_NET_DISKCFG = 1039;//ç½ç»ç¡¬çæ¥å
¥è®¾ç½®
//å缩åæ° (NET_DVR_COMPRESSIONCFG_V30ç»æ)
public const int NET_DVR_GET_COMPRESSCFG_V30 = 1040;
public const int NET_DVR_SET_COMPRESSCFG_V30 = 1041;
//è·å485解ç å¨åæ° (NET_DVR_DECODERCFG_V30ç»æ)
public const int NET_DVR_GET_DECODERCFG_V30 = 1042;//è·å解ç å¨åæ°
public const int NET_DVR_SET_DECODERCFG_V30 = 1043;//设置解ç å¨åæ°
//è·åé¢è§åæ° (NET_DVR_PREVIEWCFG_V30ç»æ)
public const int NET_DVR_GET_PREVIEWCFG_V30 = 1044;//è·åé¢è§åæ°
public const int NET_DVR_SET_PREVIEWCFG_V30 = 1045;//设置é¢è§åæ°
//è¾
å©é¢è§åæ° (NET_DVR_PREVIEWCFG_AUX_V30ç»æ)
public const int NET_DVR_GET_PREVIEWCFG_AUX_V30 = 1046;//è·åè¾
å©é¢è§åæ°
public const int NET_DVR_SET_PREVIEWCFG_AUX_V30 = 1047;//设置è¾
å©é¢è§åæ°
//IPæ¥å
¥é
ç½®åæ° ï¼NET_DVR_IPPARACFGç»æï¼
public const int NET_DVR_GET_IPPARACFG = 1048; //è·åIPæ¥å
¥é
置信æ¯
public const int NET_DVR_SET_IPPARACFG = 1049;//设置IPæ¥å
¥é
置信æ¯
//IPæ¥å
¥é
ç½®åæ° ï¼NET_DVR_IPPARACFG_V40ç»æï¼
public const int NET_DVR_GET_IPPARACFG_V40 = 1062; //è·åIPæ¥å
¥é
置信æ¯
public const int NET_DVR_SET_IPPARACFG_V40 = 1063;//设置IPæ¥å
¥é
置信æ¯
//IPæ¥è¦è¾å
¥æ¥å
¥é
ç½®åæ° ï¼NET_DVR_IPALARMINCFGç»æï¼
public const int NET_DVR_GET_IPALARMINCFG = 1050; //è·åIPæ¥è¦è¾å
¥æ¥å
¥é
置信æ¯
public const int NET_DVR_SET_IPALARMINCFG = 1051; //设置IPæ¥è¦è¾å
¥æ¥å
¥é
置信æ¯
//IPæ¥è¦è¾åºæ¥å
¥é
ç½®åæ° ï¼NET_DVR_IPALARMOUTCFGç»æï¼
public const int NET_DVR_GET_IPALARMOUTCFG = 1052;//è·åIPæ¥è¦è¾åºæ¥å
¥é
置信æ¯
public const int NET_DVR_SET_IPALARMOUTCFG = 1053;//设置IPæ¥è¦è¾åºæ¥å
¥é
置信æ¯
//硬ç管ççåæ°è·å (NET_DVR_HDCFGç»æ)
public const int NET_DVR_GET_HDCFG = 1054;//è·å硬ç管çé
ç½®åæ°
public const int NET_DVR_SET_HDCFG = 1055;//设置硬ç管çé
ç½®åæ°
//çç»ç®¡ççåæ°è·å (NET_DVR_HDGROUP_CFGç»æ)
public const int NET_DVR_GET_HDGROUP_CFG = 1056;//è·åçç»ç®¡çé
ç½®åæ°
public const int NET_DVR_SET_HDGROUP_CFG = 1057;//设置çç»ç®¡çé
ç½®åæ°
//设å¤ç¼ç ç±»åé
ç½®(NET_DVR_COMPRESSION_AUDIOç»æ)
public const int NET_DVR_GET_COMPRESSCFG_AUD = 1058;//è·å设å¤è¯é³å¯¹è®²ç¼ç åæ°
public const int NET_DVR_SET_COMPRESSCFG_AUD = 1059;//设置设å¤è¯é³å¯¹è®²ç¼ç åæ°
//IPæ¥å
¥é
ç½®åæ° ï¼NET_DVR_IPPARACFG_V31ç»æï¼
public const int NET_DVR_GET_IPPARACFG_V31 = 1060;//è·åIPæ¥å
¥é
置信æ¯
public const int NET_DVR_SET_IPPARACFG_V31 = 1061; //设置IPæ¥å
¥é
置信æ¯
//设å¤åæ°é
ç½® ï¼NET_DVR_DEVICECFG_V40ç»æï¼
public const int NET_DVR_GET_DEVICECFG_V40 = 1100;//è·å设å¤åæ°
public const int NET_DVR_SET_DEVICECFG_V40 = 1101;//设置设å¤åæ°
//å¤ç½å¡é
ç½®(NET_DVR_NETCFG_MULTIç»æ)
public const int NET_DVR_GET_NETCFG_MULTI = 1161;
public const int NET_DVR_SET_NETCFG_MULTI = 1162;
//BONDINGç½å¡(NET_DVR_NETWORK_BONDINGç»æ)
public const int NET_DVR_GET_NETWORK_BONDING = 1254;
public const int NET_DVR_SET_NETWORK_BONDING = 1255;
//NATæ å°é
ç½®åæ° ï¼NET_DVR_NAT_CFGç»æï¼
public const int NET_DVR_GET_NAT_CFG = 6111; //è·åNATæ å°åæ°
public const int NET_DVR_SET_NAT_CFG = 6112; //设置NATæ å°åæ°
/*************************åæ°é
ç½®å½ä»¤ end*******************************/
/************************DVRæ¥å¿ begin***************************/
/* æ¥è¦ */
//主类å
public const int MAJOR_ALARM = 1;
//次类å
public const int MINOR_ALARM_IN = 1;/* æ¥è¦è¾å
¥ */
public const int MINOR_ALARM_OUT = 2;/* æ¥è¦è¾åº */
public const int MINOR_MOTDET_START = 3; /* 移å¨ä¾¦æµæ¥è¦å¼å§ */
public const int MINOR_MOTDET_STOP = 4; /* 移å¨ä¾¦æµæ¥è¦ç»æ */
public const int MINOR_HIDE_ALARM_START = 5;/* é®æ¡æ¥è¦å¼å§ */
public const int MINOR_HIDE_ALARM_STOP = 6;/* é®æ¡æ¥è¦ç»æ */
public const int MINOR_VCA_ALARM_START = 7;/*æºè½æ¥è¦å¼å§*/
public const int MINOR_VCA_ALARM_STOP = 8;/*æºè½æ¥è¦åæ¢*/
/* å¼å¸¸ */
//主类å
public const int MAJOR_EXCEPTION = 2;
//次类å
public const int MINOR_VI_LOST = 33;/* è§é¢ä¿¡å·ä¸¢å¤± */
public const int MINOR_ILLEGAL_ACCESS = 34;/* éæ³è®¿é® */
public const int MINOR_HD_FULL = 35;/* 硬ç满 */
public const int MINOR_HD_ERROR = 36;/* 硬çé误 */
public const int MINOR_DCD_LOST = 37;/* MODEM æ线(ä¿çä¸ä½¿ç¨) */
public const int MINOR_IP_CONFLICT = 38;/* IPå°åå²çª */
public const int MINOR_NET_BROKEN = 39;/* ç½ç»æå¼*/
public const int MINOR_REC_ERROR = 40;/* å½ååºé */
public const int MINOR_IPC_NO_LINK = 41;/* IPCè¿æ¥å¼å¸¸ */
public const int MINOR_VI_EXCEPTION = 42;/* è§é¢è¾å
¥å¼å¸¸(åªé对模æéé) */
public const int MINOR_IPC_IP_CONFLICT = 43;/*ipc ip å°å å²çª*/
//è§é¢ç»¼åå¹³å°
public const int MINOR_FANABNORMAL = 49;/* è§é¢ç»¼åå¹³å°ï¼é£æç¶æå¼å¸¸ */
public const int MINOR_FANRESUME = 50;/* è§é¢ç»¼åå¹³å°ï¼é£æç¶ææ¢å¤æ£å¸¸ */
public const int MINOR_SUBSYSTEM_ABNORMALREBOOT = 51;/* è§é¢ç»¼åå¹³å°ï¼6467å¼å¸¸éå¯ */
public const int MINOR_MATRIX_STARTBUZZER = 52;/* è§é¢ç»¼åå¹³å°ï¼dm6467å¼å¸¸ï¼å¯å¨èé¸£å¨ */
/* æä½ */
//主类å
public const int MAJOR_OPERATION = 3;
//次类å
public const int MINOR_START_DVR = 65;/* å¼æº */
public const int MINOR_STOP_DVR = 66;/* å
³æº */
public const int MINOR_STOP_ABNORMAL = 67;/* å¼å¸¸å
³æº */
public const int MINOR_REBOOT_DVR = 68;/*æ¬å°éå¯è®¾å¤*/
public const int MINOR_LOCAL_LOGIN = 80;/* æ¬å°ç»é */
public const int MINOR_LOCAL_LOGOUT = 81;/* æ¬å°æ³¨éç»é */
public const int MINOR_LOCAL_CFG_PARM = 82;/* æ¬å°é
ç½®åæ° */
public const int MINOR_LOCAL_PLAYBYFILE = 83;/* æ¬å°ææ件åæ¾æä¸è½½ */
public const int MINOR_LOCAL_PLAYBYTIME = 84;/* æ¬å°ææ¶é´åæ¾æä¸è½½*/
public const int MINOR_LOCAL_START_REC = 85;/* æ¬å°å¼å§å½å */
public const int MINOR_LOCAL_STOP_REC = 86;/* æ¬å°åæ¢å½å */
public const int MINOR_LOCAL_PTZCTRL = 87;/* æ¬å°äºå°æ§å¶ */
public const int MINOR_LOCAL_PREVIEW = 88;/* æ¬å°é¢è§ (ä¿çä¸ä½¿ç¨)*/
public const int MINOR_LOCAL_MODIFY_TIME = 89;/* æ¬å°ä¿®æ¹æ¶é´(ä¿çä¸ä½¿ç¨) */
public const int MINOR_LOCAL_UPGRADE = 90;/* æ¬å°å级 */
public const int MINOR_LOCAL_RECFILE_OUTPUT = 91;/* æ¬å°å¤ä»½å½è±¡æ件 */
public const int MINOR_LOCAL_FORMAT_HDD = 92;/* æ¬å°åå§å硬ç */
public const int MINOR_LOCAL_CFGFILE_OUTPUT = 93;/* 导åºæ¬å°é
ç½®æ件 */
public const int MINOR_LOCAL_CFGFILE_INPUT = 94;/* 导å
¥æ¬å°é
ç½®æ件 */
public const int MINOR_LOCAL_COPYFILE = 95;/* æ¬å°å¤ä»½æ件 */
public const int MINOR_LOCAL_LOCKFILE = 96;/* æ¬å°éå®å½åæ件 */
public const int MINOR_LOCAL_UNLOCKFILE = 97;/* æ¬å°è§£éå½åæ件 */
public const int MINOR_LOCAL_DVR_ALARM = 98;/* æ¬å°æå¨æ¸
é¤å触åæ¥è¦*/
public const int MINOR_IPC_ADD = 99;/* æ¬å°æ·»å IPC */
public const int MINOR_IPC_DEL = 100;/* æ¬å°å é¤IPC */
public const int MINOR_IPC_SET = 101;/* æ¬å°è®¾ç½®IPC */
public const int MINOR_LOCAL_START_BACKUP = 102;/* æ¬å°å¼å§å¤ä»½ */
public const int MINOR_LOCAL_STOP_BACKUP = 103;/* æ¬å°åæ¢å¤ä»½*/
public const int MINOR_LOCAL_COPYFILE_START_TIME = 104;/* æ¬å°å¤ä»½å¼å§æ¶é´*/
public const int MINOR_LOCAL_COPYFILE_END_TIME = 105;/* æ¬å°å¤ä»½ç»ææ¶é´*/
public const int MINOR_LOCAL_ADD_NAS = 106;/*æ¬å°æ·»å ç½ç»ç¡¬ç*/
public const int MINOR_LOCAL_DEL_NAS = 107;/* æ¬å°å é¤nasç*/
public const int MINOR_LOCAL_SET_NAS = 108;/* æ¬å°è®¾ç½®nasç*/
public const int MINOR_REMOTE_LOGIN = 112;/* è¿ç¨ç»å½ */
public const int MINOR_REMOTE_LOGOUT = 113;/* è¿ç¨æ³¨éç»é */
public const int MINOR_REMOTE_START_REC = 114;/* è¿ç¨å¼å§å½å */
public const int MINOR_REMOTE_STOP_REC = 115;/* è¿ç¨åæ¢å½å */
public const int MINOR_START_TRANS_CHAN = 116;/* å¼å§éæä¼ è¾ */
public const int MINOR_STOP_TRANS_CHAN = 117;/* åæ¢éæä¼ è¾ */
public const int MINOR_REMOTE_GET_PARM = 118;/* è¿ç¨è·ååæ° */
public const int MINOR_REMOTE_CFG_PARM = 119;/* è¿ç¨é
ç½®åæ° */
public const int MINOR_REMOTE_GET_STATUS = 120;/* è¿ç¨è·åç¶æ */
public const int MINOR_REMOTE_ARM = 121;/* è¿ç¨å¸é² */
public const int MINOR_REMOTE_DISARM = 122;/* è¿ç¨æ¤é² */
public const int MINOR_REMOTE_REBOOT = 123;/* è¿ç¨éå¯ */
public const int MINOR_START_VT = 124;/* å¼å§è¯é³å¯¹è®² */
public const int MINOR_STOP_VT = 125;/* åæ¢è¯é³å¯¹è®² */
public const int MINOR_REMOTE_UPGRADE = 126;/* è¿ç¨å级 */
public const int MINOR_REMOTE_PLAYBYFILE = 127;/* è¿ç¨ææ件åæ¾ */
public const int MINOR_REMOTE_PLAYBYTIME = 128;/* è¿ç¨ææ¶é´åæ¾ */
public const int MINOR_REMOTE_PTZCTRL = 129;/* è¿ç¨äºå°æ§å¶ */
public const int MINOR_REMOTE_FORMAT_HDD = 130;/* è¿ç¨æ ¼å¼å硬ç */
public const int MINOR_REMOTE_STOP = 131;/* è¿ç¨å
³æº */
public const int MINOR_REMOTE_LOCKFILE = 132;/* è¿ç¨éå®æ件 */
public const int MINOR_REMOTE_UNLOCKFILE = 133;/* è¿ç¨è§£éæ件 */
public const int MINOR_REMOTE_CFGFILE_OUTPUT = 134;/* è¿ç¨å¯¼åºé
ç½®æ件 */
public const int MINOR_REMOTE_CFGFILE_INTPUT = 135;/* è¿ç¨å¯¼å
¥é
ç½®æ件 */
public const int MINOR_REMOTE_RECFILE_OUTPUT = 136;/* è¿ç¨å¯¼åºå½è±¡æ件 */
public const int MINOR_REMOTE_DVR_ALARM = 137;/* è¿ç¨æå¨æ¸
é¤å触åæ¥è¦*/
public const int MINOR_REMOTE_IPC_ADD = 138;/* è¿ç¨æ·»å IPC */
public const int MINOR_REMOTE_IPC_DEL = 139;/* è¿ç¨å é¤IPC */
public const int MINOR_REMOTE_IPC_SET = 140;/* è¿ç¨è®¾ç½®IPC */
public const int MINOR_REBOOT_VCA_LIB = 141;/*éå¯æºè½åº*/
public const int MINOR_REMOTE_ADD_NAS = 142;/* è¿ç¨æ·»å nasç*/
public const int MINOR_REMOTE_DEL_NAS = 143;/* è¿ç¨å é¤nasç*/
public const int MINOR_REMOTE_SET_NAS = 144;/* è¿ç¨è®¾ç½®nasç*/
//2009-12-16 å¢å è§é¢ç»¼åå¹³å°æ¥å¿ç±»å
public const int MINOR_SUBSYSTEMREBOOT = 160;/*è§é¢ç»¼åå¹³å°ï¼dm6467 æ£å¸¸éå¯*/
public const int MINOR_MATRIX_STARTTRANSFERVIDEO = 161; /*è§é¢ç»¼åå¹³å°ï¼ç©éµåæ¢å¼å§ä¼ è¾å¾å*/
public const int MINOR_MATRIX_STOPTRANSFERVIDEO = 162; /*è§é¢ç»¼åå¹³å°ï¼ç©éµåæ¢åæ¢ä¼ è¾å¾å*/
public const int MINOR_REMOTE_SET_ALLSUBSYSTEM = 163; /*è§é¢ç»¼åå¹³å°ï¼è®¾ç½®ææ6467åç³»ç»ä¿¡æ¯*/
public const int MINOR_REMOTE_GET_ALLSUBSYSTEM = 164; /*è§é¢ç»¼åå¹³å°ï¼è·åææ6467åç³»ç»ä¿¡æ¯*/
public const int MINOR_REMOTE_SET_PLANARRAY = 165; /*è§é¢ç»¼åå¹³å°ï¼è®¾ç½®è®¡å轮询ç»*/
public const int MINOR_REMOTE_GET_PLANARRAY = 166; /*è§é¢ç»¼åå¹³å°ï¼è·å计å轮询ç»*/
public const int MINOR_MATRIX_STARTTRANSFERAUDIO = 167; /*è§é¢ç»¼åå¹³å°ï¼ç©éµåæ¢å¼å§ä¼ è¾é³é¢*/
public const int MINOR_MATRIX_STOPRANSFERAUDIO = 168; /*è§é¢ç»¼åå¹³å°ï¼ç©éµåæ¢åæ¢ä¼ è¾é³é¢*/
public const int MINOR_LOGON_CODESPITTER = 169; /*è§é¢ç»¼åå¹³å°ï¼ç»éç åå¨*/
public const int MINOR_LOGOFF_CODESPITTER = 170; /*è§é¢ç»¼åå¹³å°ï¼éåºç åå¨*/
/*æ¥å¿éå ä¿¡æ¯*/
//主类å
public const int MAJOR_INFORMATION = 4;/*éå ä¿¡æ¯*/
//次类å
public const int MINOR_HDD_INFO = 161;/*硬çä¿¡æ¯*/
public const int MINOR_SMART_INFO = 162;/*SMARTä¿¡æ¯*/
public const int MINOR_REC_START = 163;/*å¼å§å½å*/
public const int MINOR_REC_STOP = 164;/*åæ¢å½å*/
public const int MINOR_REC_OVERDUE = 165;/*è¿æå½åå é¤*/
public const int MINOR_LINK_START = 166;//è¿æ¥å端设å¤
public const int MINOR_LINK_STOP = 167;//æå¼å端设å¤ã
public const int MINOR_NET_DISK_INFO = 168;//ç½ç»ç¡¬çä¿¡æ¯
//å½æ¥å¿ç主类å为MAJOR_OPERATION=03ï¼æ¬¡ç±»å为MINOR_LOCAL_CFG_PARM=0x52æè
MINOR_REMOTE_GET_PARM=0x76æè
MINOR_REMOTE_CFG_PARM=0x77æ¶ï¼dwParaType:åæ°ç±»åææï¼å
¶å«ä¹å¦ä¸ï¼
public const int PARA_VIDEOOUT = 1;
public const int PARA_IMAGE = 2;
public const int PARA_ENCODE = 4;
public const int PARA_NETWORK = 8;
public const int PARA_ALARM = 16;
public const int PARA_EXCEPTION = 32;
public const int PARA_DECODER = 64;/*解ç å¨*/
public const int PARA_RS232 = 128;
public const int PARA_PREVIEW = 256;
public const int PARA_SECURITY = 512;
public const int PARA_DATETIME = 1024;
public const int PARA_FRAMETYPE = 2048;/*å¸§æ ¼å¼*/
//vca
public const int PARA_VCA_RULE = 4096;//è¡ä¸ºè§å
/************************DVRæ¥å¿ End***************************/
/*******************æ¥æ¾æ件åæ¥å¿å½æ°è¿åå¼*************************/
public const int NET_DVR_FILE_SUCCESS = 1000;//è·å¾æ件信æ¯
public const int NET_DVR_FILE_NOFIND = 1001;//没ææ件
public const int NET_DVR_ISFINDING = 1002;//æ£å¨æ¥æ¾æ件
public const int NET_DVR_NOMOREFILE = 1003;//æ¥æ¾æ件æ¶æ²¡ææ´å¤çæ件
public const int NET_DVR_FILE_EXCEPTION = 1004;//æ¥æ¾æ件æ¶å¼å¸¸
/*********************åè°å½æ°ç±»å begin************************/
public const int COMM_ALARM = 0x1100;//8000æ¥è¦ä¿¡æ¯ä¸»å¨ä¸ä¼ ï¼å¯¹åºNET_DVR_ALARMINFO
public const int COMM_ALARM_RULE = 0x1102;//è¡ä¸ºåææ¥è¦ä¿¡æ¯ï¼å¯¹åºNET_VCA_RULE_ALARM
public const int COMM_ALARM_PDC = 0x1103;//人æµéç»è®¡æ¥è¦ä¸ä¼ ï¼å¯¹åºNET_DVR_PDC_ALRAM_INFO
public const int COMM_ALARM_ALARMHOST = 0x1105;//ç½ç»æ¥è¦ä¸»æºæ¥è¦ä¸ä¼ ï¼å¯¹åºNET_DVR_ALARMHOST_ALARMINFO
public const int COMM_ALARM_FACE = 0x1106;//人è¸æ£æµè¯å«æ¥è¦ä¿¡æ¯ï¼å¯¹åºNET_DVR_FACEDETECT_ALARM
public const int COMM_RULE_INFO_UPLOAD = 0x1107; // äºä»¶æ°æ®ä¿¡æ¯ä¸ä¼
public const int COMM_ALARM_AID = 0x1110; //交éäºä»¶æ¥è¦ä¿¡æ¯
public const int COMM_ALARM_TPS = 0x1111; //交éåæ°ç»è®¡æ¥è¦ä¿¡æ¯
public const int COMM_UPLOAD_FACESNAP_RESULT = 0x1112; //人è¸è¯å«ç»æä¸ä¼
public const int COMM_ALARM_TFS = 0x1113; //交éåè¯æ¥è¦ä¿¡æ¯
public const int COMM_ALARM_TPS_V41 = 0x1114; //交éåæ°ç»è®¡æ¥è¦ä¿¡æ¯æ©å±
public const int COMM_ALARM_AID_V41 = 0x1115; //交éäºä»¶æ¥è¦ä¿¡æ¯æ©å±
public const int COMM_ALARM_VQD_EX = 0x1116; //è§é¢è´¨éè¯ææ¥è¦
public const int COMM_SENSOR_VALUE_UPLOAD = 0x1120; //模æéæ°æ®å®æ¶ä¸ä¼
public const int COMM_SENSOR_ALARM = 0x1121; //模æéæ¥è¦ä¸ä¼
public const int COMM_SWITCH_ALARM = 0x1122; //å¼å
³éæ¥è¦
public const int COMM_ALARMHOST_EXCEPTION = 0x1123; //æ¥è¦ä¸»æºæ
éæ¥è¦
public const int COMM_ALARMHOST_OPERATEEVENT_ALARM = 0x1124; //æä½äºä»¶æ¥è¦ä¸ä¼
public const int COMM_ALARMHOST_SAFETYCABINSTATE = 0x1125; //é²æ¤è±ç¶æ
public const int COMM_ALARMHOST_ALARMOUTSTATUS = 0x1126; //æ¥è¦è¾åºå£/è¦å·ç¶æ
public const int COMM_ALARMHOST_CID_ALARM = 0x1127; //æ¥åæ¥è¦ä¸ä¼
public const int COMM_ALARMHOST_EXTERNAL_DEVICE_ALARM = 0x1128; //æ¥è¦ä¸»æºå¤æ¥è®¾å¤æ¥è¦ä¸ä¼
public const int COMM_ALARMHOST_DATA_UPLOAD = 0x1129; //æ¥è¦æ°æ®ä¸ä¼
public const int COMM_ALARM_AUDIOEXCEPTION = 0x1150; //声é³æ¥è¦ä¿¡æ¯
public const int COMM_ALARM_DEFOCUS = 0x1151; //èç¦æ¥è¦ä¿¡æ¯
public const int COMM_ALARM_BUTTON_DOWN_EXCEPTION = 0x1152; //æé®æä¸æ¥è¦ä¿¡æ¯
public const int COMM_ALARM_ALARMGPS = 0x1202; //GPSæ¥è¦ä¿¡æ¯ä¸ä¼
public const int COMM_TRADEINFO = 0x1500; //ATMDVR主å¨ä¸ä¼ 交æä¿¡æ¯
public const int COMM_UPLOAD_PLATE_RESULT = 0x2800; //ä¸ä¼ 车çä¿¡æ¯
public const int COMM_ITC_STATUS_DETECT_RESULT = 0x2810; //å®æ¶ç¶ææ£æµç»æä¸ä¼ (æºè½é«æ¸
IPC)
public const int COMM_IPC_AUXALARM_RESULT = 0x2820; //PIRæ¥è¦ãæ 线æ¥è¦ãå¼ææ¥è¦ä¸ä¼
public const int COMM_UPLOAD_PICTUREINFO = 0x2900; //ä¸ä¼ å¾çä¿¡æ¯
public const int COMM_SNAP_MATCH_ALARM = 0x2902; //é»ååæ¯å¯¹ç»æä¸ä¼
public const int COMM_ITS_PLATE_RESULT = 0x3050; //ç»ç«¯å¾çä¸ä¼
public const int COMM_ITS_TRAFFIC_COLLECT = 0x3051; //ç»ç«¯ç»è®¡æ°æ®ä¸ä¼
public const int COMM_ITS_GATE_VEHICLE = 0x3052; //åºå
¥å£è½¦è¾æææ°æ®ä¸ä¼
public const int COMM_ITS_GATE_FACE = 0x3053 ; //åºå
¥å£äººè¸æææ°æ®ä¸ä¼
public const int COMM_ITS_GATE_COSTITEM = 0x3054; //åºå
¥å£è¿è½¦æ¶è´¹æç» 2013-11-19
public const int COMM_ITS_GATE_HANDOVER = 0x3055 ; //åºå
¥å£äº¤æ¥çæ°æ® 2013-11-19
public const int COMM_ITS_PARK_VEHICLE = 0x3056; //å车åºæ°æ®ä¸ä¼
public const int COMM_ITS_BLACKLIST_ALARM = 0x3057; //é»ååæ¥è¦ä¸ä¼
public const int COMM_ALARM_V30 = 0x4000; //9000æ¥è¦ä¿¡æ¯ä¸»å¨ä¸ä¼
public const int COMM_IPCCFG = 0x4001; //9000设å¤IPCæ¥å
¥é
ç½®æ¹åæ¥è¦ä¿¡æ¯ä¸»å¨ä¸ä¼
public const int COMM_IPCCFG_V31 = 0x4002; //9000设å¤IPCæ¥å
¥é
ç½®æ¹åæ¥è¦ä¿¡æ¯ä¸»å¨ä¸ä¼ æ©å± 9000_1.1
public const int COMM_IPCCFG_V40 = 0x4003; // IVMS 2000 ç¼ç æå¡å¨ NVR IPCæ¥å
¥é
ç½®æ¹åæ¶æ¥è¦ä¿¡æ¯ä¸ä¼
public const int COMM_ALARM_DEVICE = 0x4004; //设å¤æ¥è¦å
容ï¼ç±äºééå¼å¤§äº256èæ©å±
public const int COMM_ALARM_CVR = 0x4005; //CVR 2.0.Xå¤é¨æ¥è¦ç±»å
public const int COMM_ALARM_HOT_SPARE = 0x4006; //çå¤å¼å¸¸æ¥è¦ï¼N+1模å¼å¼å¸¸æ¥è¦ï¼
public const int COMM_ALARM_V40 = 0x4007; //移å¨ä¾¦æµï¼è§é¢ä¸¢å¤±ï¼é®æ¡ï¼IOä¿¡å·éçæ¥è¦ä¿¡æ¯ä¸»å¨ä¸ä¼ ï¼æ¥è¦æ°æ®ä¸ºå¯åé¿
public const int COMM_ITS_ROAD_EXCEPTION = 0x4500; //è·¯å£è®¾å¤å¼å¸¸æ¥è¦
public const int COMM_ITS_EXTERNAL_CONTROL_ALARM = 0x4520; //å¤æ§æ¥è¦
public const int COMM_SCREEN_ALARM = 0x5000; //å¤å±æ§å¶å¨æ¥è¦ç±»å
public const int COMM_DVCS_STATE_ALARM = 0x5001; //åå¸å¼å¤§å±æ§å¶å¨æ¥è¦ä¸ä¼
public const int COMM_ALARM_VQD = 0x6000; //VQD主å¨æ¥è¦ä¸ä¼
public const int COMM_PUSH_UPDATE_RECORD_INFO = 0x6001; //æ¨æ¨¡å¼å½åä¿¡æ¯ä¸ä¼
public const int COMM_DIAGNOSIS_UPLOAD = 0x5100; //è¯ææå¡å¨VQDæ¥è¦ä¸ä¼
/*************æä½å¼å¸¸ç±»å(æ¶æ¯æ¹å¼, åè°æ¹å¼(ä¿ç))****************/
public const int EXCEPTION_EXCHANGE = 32768;//ç¨æ·äº¤äºæ¶å¼å¸¸
public const int EXCEPTION_AUDIOEXCHANGE = 32769;//è¯é³å¯¹è®²å¼å¸¸
public const int EXCEPTION_ALARM = 32770;//æ¥è¦å¼å¸¸
public const int EXCEPTION_PREVIEW = 32771;//ç½ç»é¢è§å¼å¸¸
public const int EXCEPTION_SERIAL = 32772;//éæééå¼å¸¸
public const int EXCEPTION_RECONNECT = 32773;//é¢è§æ¶éè¿
public const int EXCEPTION_ALARMRECONNECT = 32774;//æ¥è¦æ¶éè¿
public const int EXCEPTION_SERIALRECONNECT = 32775;//éæéééè¿
public const int EXCEPTION_PLAYBACK = 32784;//åæ¾å¼å¸¸
public const int EXCEPTION_DISKFMT = 32785;//硬çæ ¼å¼å
/********************é¢è§åè°å½æ°*********************/
public const int NET_DVR_SYSHEAD = 1;//ç³»ç»å¤´æ°æ®
public const int NET_DVR_STREAMDATA = 2;//è§é¢æµæ°æ®ï¼å
æ¬å¤åæµåé³è§é¢åå¼çè§é¢æµæ°æ®ï¼
public const int NET_DVR_AUDIOSTREAMDATA = 3;//é³é¢æµæ°æ®
public const int NET_DVR_STD_VIDEODATA = 4;//æ åè§é¢æµæ°æ®
public const int NET_DVR_STD_AUDIODATA = 5;//æ åé³é¢æµæ°æ®
//åè°é¢è§ä¸çç¶æåæ¶æ¯
public const int NET_DVR_REALPLAYEXCEPTION = 111;//é¢è§å¼å¸¸
public const int NET_DVR_REALPLAYNETCLOSE = 112;//é¢è§æ¶è¿æ¥æå¼
public const int NET_DVR_REALPLAY5SNODATA = 113;//é¢è§5s没ææ¶å°æ°æ®
public const int NET_DVR_REALPLAYRECONNECT = 114;//é¢è§éè¿
/********************åæ¾åè°å½æ°*********************/
public const int NET_DVR_PLAYBACKOVER = 101;//åæ¾æ°æ®ææ¾å®æ¯
public const int NET_DVR_PLAYBACKEXCEPTION = 102;//åæ¾å¼å¸¸
public const int NET_DVR_PLAYBACKNETCLOSE = 103;//åæ¾æ¶åè¿æ¥æå¼
public const int NET_DVR_PLAYBACK5SNODATA = 104;//åæ¾5s没ææ¶å°æ°æ®
/*********************åè°å½æ°ç±»å end************************/
//设å¤åå·(DVRç±»å)
/* 设å¤ç±»å */
public const int DVR = 1;/*对å°æªå®ä¹çdvrç±»åè¿åNETRET_DVR*/
public const int ATMDVR = 2;/*atm dvr*/
public const int DVS = 3;/*DVS*/
public const int DEC = 4;/* 6001D */
public const int ENC_DEC = 5;/* 6001F */
public const int DVR_HC = 6;/*8000HC*/
public const int DVR_HT = 7;/*8000HT*/
public const int DVR_HF = 8;/*8000HF*/
public const int DVR_HS = 9;/* 8000HS DVR(no audio) */
public const int DVR_HTS = 10; /* 8016HTS DVR(no audio) */
public const int DVR_HB = 11; /* HB DVR(SATA HD) */
public const int DVR_HCS = 12; /* 8000HCS DVR */
public const int DVS_A = 13; /* 带ATA硬ççDVS */
public const int DVR_HC_S = 14; /* 8000HC-S */
public const int DVR_HT_S = 15;/* 8000HT-S */
public const int DVR_HF_S = 16;/* 8000HF-S */
public const int DVR_HS_S = 17; /* 8000HS-S */
public const int ATMDVR_S = 18;/* ATM-S */
public const int LOWCOST_DVR = 19;/*7000Hç³»å*/
public const int DEC_MAT = 20; /*å¤è·¯è§£ç å¨*/
public const int DVR_MOBILE = 21;/* mobile DVR */
public const int DVR_HD_S = 22; /* 8000HD-S */
public const int DVR_HD_SL = 23;/* 8000HD-SL */
public const int DVR_HC_SL = 24;/* 8000HC-SL */
public const int DVR_HS_ST = 25;/* 8000HS_ST */
public const int DVS_HW = 26; /* 6000HW */
public const int DS630X_D = 27; /* å¤è·¯è§£ç å¨ */
public const int IPCAM = 30;/*IP æåæº*/
public const int MEGA_IPCAM = 31;/*X52MFç³»å,752MF,852MF*/
public const int IPCAM_X62MF = 32;/*X62MFç³»åå¯æ¥å
¥9000设å¤,762MF,862MF*/
public const int IPDOME = 40; /*IP æ æ¸
çæº*/
public const int IPDOME_MEGA200 = 41;/*IP 200ä¸é«æ¸
çæº*/
public const int IPDOME_MEGA130 = 42;/*IP 130ä¸é«æ¸
çæº*/
public const int IPMOD = 50;/*IP 模å*/
public const int DS71XX_H = 71;/* DS71XXH_S */
public const int DS72XX_H_S = 72;/* DS72XXH_S */
public const int DS73XX_H_S = 73;/* DS73XXH_S */
public const int DS76XX_H_S = 76;/* DS76XX_H_S */
public const int DS81XX_HS_S = 81;/* DS81XX_HS_S */
public const int DS81XX_HL_S = 82;/* DS81XX_HL_S */
public const int DS81XX_HC_S = 83;/* DS81XX_HC_S */
public const int DS81XX_HD_S = 84;/* DS81XX_HD_S */
public const int DS81XX_HE_S = 85;/* DS81XX_HE_S */
public const int DS81XX_HF_S = 86;/* DS81XX_HF_S */
public const int DS81XX_AH_S = 87;/* DS81XX_AH_S */
public const int DS81XX_AHF_S = 88;/* DS81XX_AHF_S */
public const int DS90XX_HF_S = 90; /*DS90XX_HF_S*/
public const int DS91XX_HF_S = 91; /*DS91XX_HF_S*/
public const int DS91XX_HD_S = 92; /*91XXHD-S(MD)*/
/**********************设å¤ç±»å end***********************/
/*************************************************
åæ°é
ç½®ç»æãåæ°(å
¶ä¸_V30为9000æ°å¢)
**************************************************/
//æ ¡æ¶ç»æåæ°
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_TIME
{
public uint dwYear;
public uint dwMonth;
public uint dwDay;
public uint dwHour;
public uint dwMinute;
public uint dwSecond;
}
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_CALIBRATE_TIME
{
public int dwSize;
public NET_DVR_TIME struTime;
public uint wMilliSec;
public byte[] byRes;
}
//æ¶é´åæ°
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_TIME_V30
{
public ushort wYear;
public byte byMonth;
public byte byDay;
public byte byHour;
public byte byMinute;
public byte bySecond;
public byte byRes;
public ushort wMilliSec;
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 2, ArraySubType = UnmanagedType.I1)]
public byte[] byRes1;
}
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_TIME_EX
{
public ushort wYear;
public byte byMonth;
public byte byDay;
public byte byHour;
public byte byMinute;
public byte bySecond;
public byte byRes;
}
//æ¶é´æ®µ(åç»æ)
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_SCHEDTIME
{
public byte byStartHour;//å¼å§æ¶é´
public byte byStartMin;//å¼å§æ¶é´
public byte byStopHour;//ç»ææ¶é´
public byte byStopMin;//ç»ææ¶é´
}
/*设å¤æ¥è¦åå¼å¸¸å¤çæ¹å¼*/
public const int NOACTION = 0x0;/*æ ååº*/
public const int WARNONMONITOR = 0x1;/*çè§å¨ä¸è¦å*/
public const int WARNONAUDIOOUT = 0x2;/*声é³è¦å*/
public const int UPTOCENTER = 0x4;/*ä¸ä¼ ä¸å¿*/
public const int TRIGGERALARMOUT = 0x8;/*触åæ¥è¦è¾åº*/
public const int TRIGGERCATPIC = 0x10;/*触åæå¾å¹¶ä¸ä¼ E-mail*/
public const int SEND_PIC_FTP = 0x200; /*æå¾å¹¶ä¸ä¼ ftp*/
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_STRUCTHEAD
{
public ushort wLength; //ç»æé¿åº¦
public byte byVersion; /*é«ä½4ä½åå«ä»£è¡¨é«ä½çæ¬ï¼åç»æ ¹æ®çæ¬åé¿åº¦è¿è¡æ©å±ï¼ä¸åççæ¬çé¿åº¦è¿è¡éå¶*/
public byte byRes;
}
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_HANDLEEXCEPTION_V41
{
public uint dwHandleType;/*å¤çæ¹å¼,å¤çæ¹å¼ç"æ"ç»æ*/
/*0x00: æ ååº*/
/*0x01: çè§å¨ä¸è¦å*/
/*0x02: 声é³è¦å*/
/*0x04: ä¸ä¼ ä¸å¿*/
/*0x08: 触åæ¥è¦è¾åº*/
/*0x10: 触åJPRGæå¾å¹¶ä¸ä¼ Email*/
/*0x20: æ 线声å
æ¥è¦å¨èå¨*/
/*0x40: èå¨çµåå°å¾(ç®ååªæPCNVRæ¯æ)*/
/*0x200: æå¾å¹¶ä¸ä¼ FTP*/
public uint dwMaxRelAlarmOutChanNum; //触åçæ¥è¦è¾åºééæ°ï¼åªè¯»ï¼æ大æ¯ææ°
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_ALARMOUT_V40, ArraySubType = UnmanagedType.U4)]
public uint[] dwRelAlarmOut; //触åæ¥è¦éé
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 64, ArraySubType = UnmanagedType.I1)]
public byte[] byRes; //ä¿ç
}
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_HANDLEEXCEPTION_V40
{
public uint dwHandleType;/*å¤çæ¹å¼,å¤çæ¹å¼ç"æ"ç»æ*/
/*0x00: æ ååº*/
/*0x01: çè§å¨ä¸è¦å*/
/*0x02: 声é³è¦å*/
/*0x04: ä¸ä¼ ä¸å¿*/
/*0x08: 触åæ¥è¦è¾åº*/
/*0x10: 触åJPRGæå¾å¹¶ä¸ä¼ Email*/
/*0x20: æ 线声å
æ¥è¦å¨èå¨*/
/*0x40: èå¨çµåå°å¾(ç®ååªæPCNVRæ¯æ)*/
/*0x200: æå¾å¹¶ä¸ä¼ FTP*/
public uint dwMaxRelAlarmOutChanNum; //触åçæ¥è¦è¾åºééæ°ï¼åªè¯»ï¼æ大æ¯ææ°
public uint dwRelAlarmOutChanNum; //触åçæ¥è¦è¾åºééæ° å®é
æ¯ææ°
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_CHANNUM_V30, ArraySubType = UnmanagedType.U4)]
public uint[] dwRelAlarmOut; //触åæ¥è¦éé
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 64, ArraySubType = UnmanagedType.I1)]
public byte[] byRes; //ä¿ç
}
//æ¥è¦åå¼å¸¸å¤çç»æ(åç»æ)(å¤å¤ä½¿ç¨)(9000æ©å±)
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_HANDLEEXCEPTION_V30
{
public uint dwHandleType;/*å¤çæ¹å¼,å¤çæ¹å¼ç"æ"ç»æ*/
/*0x00: æ ååº*/
/*0x01: çè§å¨ä¸è¦å*/
/*0x02: 声é³è¦å*/
/*0x04: ä¸ä¼ ä¸å¿*/
/*0x08: 触åæ¥è¦è¾åº*/
/*0x10: 触åJPRGæå¾å¹¶ä¸ä¼ Email*/
/*0x20: æ 线声å
æ¥è¦å¨èå¨*/
/*0x40: èå¨çµåå°å¾(ç®ååªæPCNVRæ¯æ)*/
/*0x200: æå¾å¹¶ä¸ä¼ FTP*/
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_ALARMOUT_V30, ArraySubType = UnmanagedType.I1)]
public byte[] byRelAlarmOut;//æ¥è¦è§¦åçè¾åºéé,æ¥è¦è§¦åçè¾åº,为1表示触å该è¾åº
}
//æ¥è¦åå¼å¸¸å¤çç»æ(åç»æ)(å¤å¤ä½¿ç¨)
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_HANDLEEXCEPTION
{
public uint dwHandleType;/*å¤çæ¹å¼,å¤çæ¹å¼ç"æ"ç»æ*/
/*0x00: æ ååº*/
/*0x01: çè§å¨ä¸è¦å*/
/*0x02: 声é³è¦å*/
/*0x04: ä¸ä¼ ä¸å¿*/
/*0x08: 触åæ¥è¦è¾åº*/
/*0x10: Jpegæå¾å¹¶ä¸ä¼ EMail*/
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_ALARMOUT, ArraySubType = UnmanagedType.I1)]
public byte[] byRelAlarmOut;//æ¥è¦è§¦åçè¾åºéé,æ¥è¦è§¦åçè¾åº,为1表示触å该è¾åº
}
//DVR设å¤åæ°
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_DEVICECFG
{
public uint dwSize;
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = NAME_LEN, ArraySubType = UnmanagedType.I1)]
public byte[] sDVRName;//DVRå称
public uint dwDVRID;//DVR ID,ç¨äºé¥æ§å¨ //V1.4(0-99), V1.5(0-255)
public uint dwRecycleRecord;//æ¯å¦å¾ªç¯å½å,0:ä¸æ¯; 1:æ¯
//以ä¸ä¸å¯æ´æ¹
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = SERIALNO_LEN, ArraySubType = UnmanagedType.I1)]
public byte[] sSerialNumber;//åºåå·
public uint dwSoftwareVersion;//软件çæ¬å·,é«16ä½æ¯ä¸»çæ¬,ä½16ä½æ¯æ¬¡çæ¬
public uint dwSoftwareBuildDate;//软件çææ¥æ,0xYYYYMMDD
public uint dwDSPSoftwareVersion;//DSP软件çæ¬,é«16ä½æ¯ä¸»çæ¬,ä½16ä½æ¯æ¬¡çæ¬
public uint dwDSPSoftwareBuildDate;// DSP软件çææ¥æ,0xYYYYMMDD
public uint dwPanelVersion;// åé¢æ¿çæ¬,é«16ä½æ¯ä¸»çæ¬,ä½16ä½æ¯æ¬¡çæ¬
public uint dwHardwareVersion;// 硬件çæ¬,é«16ä½æ¯ä¸»çæ¬,ä½16ä½æ¯æ¬¡çæ¬
public byte byAlarmInPortNum;//DVRæ¥è¦è¾å
¥ä¸ªæ°
public byte byAlarmOutPortNum;//DVRæ¥è¦è¾åºä¸ªæ°
public byte byRS232Num;//DVR 232串å£ä¸ªæ°
public byte byRS485Num;//DVR 485串å£ä¸ªæ°
public byte byNetworkPortNum;//ç½ç»å£ä¸ªæ°
public byte byDiskCtrlNum;//DVR 硬çæ§å¶å¨ä¸ªæ°
public byte byDiskNum;//DVR 硬ç个æ°
public byte byDVRType;//DVRç±»å, 1:DVR 2:ATM DVR 3:DVS ......
public byte byChanNum;//DVR éé个æ°
public byte byStartChan;//èµ·å§ééå·,ä¾å¦DVS-1,DVR - 1
public byte byDecordChans;//DVR 解ç è·¯æ°
public byte byVGANum;//VGAå£ç个æ°
public byte byUSBNum;//USBå£ç个æ°
public byte byAuxoutNum;//è¾
å£ç个æ°
public byte byAudioNum;//è¯é³å£ç个æ°
public byte byIPChanNum;//æ大æ°åééæ°
}
/*IPå°å*/
[StructLayoutAttribute(LayoutKind.Sequential, CharSet = CharSet.Ansi)]
public struct NET_DVR_IPADDR
{
/// char[16]
[MarshalAsAttribute(UnmanagedType.ByValTStr, SizeConst = 16)]
public string sIpV4;
/// BYTE[128]
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 128, ArraySubType = UnmanagedType.I1)]
public byte[] byRes;
public void Init()
{
byRes = new byte[128];
}
}
/*ç½ç»æ°æ®ç»æ(åç»æ)(9000æ©å±)*/
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_ETHERNET_V30
{
public NET_DVR_IPADDR struDVRIP;//DVR IPå°å
public NET_DVR_IPADDR struDVRIPMask;//DVR IPå°åæ©ç
public uint dwNetInterface;//ç½ç»æ¥å£ï¼1-10MBase-Tï¼2-10MBase-Tå
¨åå·¥ï¼3-100MBase-TXï¼4-100Må
¨åå·¥ï¼5-10M/100M/1000Mèªéåºï¼6-1000Må
¨åå·¥
public ushort wDVRPort;//端å£å·
public ushort wMTU;//å¢å MTU设置ï¼é»è®¤1500ã
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MACADDR_LEN, ArraySubType = UnmanagedType.I1)]
public byte[] byMACAddr;// ç©çå°å
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 2, ArraySubType = UnmanagedType.I1)]
public byte[] byRes;
}
/*ç½ç»æ°æ®ç»æ(åç»æ)*/
[StructLayoutAttribute(LayoutKind.Sequential, CharSet = CharSet.Ansi)]
public struct NET_DVR_ETHERNET
{
[MarshalAsAttribute(UnmanagedType.ByValTStr, SizeConst = 16)]
public string sDVRIP;//DVR IPå°å
[MarshalAsAttribute(UnmanagedType.ByValTStr, SizeConst = 16)]
public string sDVRIPMask;//DVR IPå°åæ©ç
public uint dwNetInterface;//ç½ç»æ¥å£ 1-10MBase-T 2-10MBase-Tå
¨åå·¥ 3-100MBase-TX 4-100Må
¨åå·¥ 5-10M/100Mèªéåº
public ushort wDVRPort;//端å£å·
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MACADDR_LEN, ArraySubType = UnmanagedType.I1)]
public byte[] byMACAddr;//æå¡å¨çç©çå°å
}
//pppoeç»æ
[StructLayoutAttribute(LayoutKind.Sequential, CharSet = CharSet.Ansi)]
public struct NET_DVR_PPPOECFG
{
public uint dwPPPOE;//0-ä¸å¯ç¨,1-å¯ç¨
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = NAME_LEN, ArraySubType = UnmanagedType.I1)]
public byte[] sPPPoEUser;//PPPoEç¨æ·å
[MarshalAsAttribute(UnmanagedType.ByValTStr, SizeConst = PASSWD_LEN)]
public string sPPPoEPassword;// PPPoEå¯ç
public NET_DVR_IPADDR struPPPoEIP;//PPPoE IPå°å
}
//ç½ç»é
ç½®ç»æ(9000æ©å±)
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_NETCFG_V30
{
public uint dwSize;
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_ETHERNET, ArraySubType = UnmanagedType.Struct)]
public NET_DVR_ETHERNET_V30[] struEtherNet;//以太ç½å£
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 2, ArraySubType = UnmanagedType.Struct)]
public NET_DVR_IPADDR[] struRes1;/*ä¿ç*/
public NET_DVR_IPADDR struAlarmHostIpAddr;/* æ¥è¦ä¸»æºIPå°å */
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 4, ArraySubType = UnmanagedType.I1)]
public byte[] byRes2;
public ushort wAlarmHostIpPort;
public byte byUseDhcp;
public byte byRes3;
public NET_DVR_IPADDR struDnsServer1IpAddr;/* ååæå¡å¨1çIPå°å */
public NET_DVR_IPADDR struDnsServer2IpAddr;/* ååæå¡å¨2çIPå°å */
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_DOMAIN_NAME, ArraySubType = UnmanagedType.I1)]
public byte[] byIpResolver;
public ushort wIpResolverPort;
public ushort wHttpPortNo;
public NET_DVR_IPADDR struMulticastIpAddr;/* å¤æç»å°å */
public NET_DVR_IPADDR struGatewayIpAddr;/* ç½å
³å°å */
public NET_DVR_PPPOECFG struPPPoE;
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 64, ArraySubType = UnmanagedType.I1)]
public byte[] byRes;
}
//å个ç½å¡é
置信æ¯ç»æä½
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_ETHERNET_MULTI
{
public NET_DVR_IPADDR struDVRIP;
public NET_DVR_IPADDR struDVRIPMask;
public uint dwNetInterface;
public byte byCardType; //ç½å¡ç±»åï¼0-æ®éç½å¡ï¼1-å
ç½ç½å¡ï¼2-å¤ç½ç½å¡
public byte byRes1;
public ushort wMTU;
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MACADDR_LEN, ArraySubType = UnmanagedType.I1)]
public byte[] byMACAddr;
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 2, ArraySubType = UnmanagedType.I1)]
public byte[] byRes2;
public byte byUseDhcp;
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 3, ArraySubType = UnmanagedType.I1)]
public byte[] byRes3;
public NET_DVR_IPADDR struGatewayIpAddr;
public NET_DVR_IPADDR struDnsServer1IpAddr;
public NET_DVR_IPADDR struDnsServer2IpAddr;
}
//å¤ç½å¡ç½ç»é
ç½®ç»æ
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_NETCFG_MULTI
{
public uint dwSize;
public byte byDefaultRoute;
public byte byNetworkCardNum;
public byte byWorkMode; //0-æ®éå¤ç½å¡æ¨¡å¼ï¼1-å
å¤ç½é离模å¼
public byte byRes;
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_NETWORK_CARD, ArraySubType = UnmanagedType.Struct)]
public NET_DVR_ETHERNET_MULTI[] struEtherNet;//以太ç½å£
public NET_DVR_IPADDR struManageHost1IpAddr;
public NET_DVR_IPADDR struManageHost2IpAddr;
public NET_DVR_IPADDR struAlarmHostIpAddr;
public ushort wManageHost1Port;
public ushort wManageHost2Port;
public ushort wAlarmHostIpPort;
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_DOMAIN_NAME, ArraySubType = UnmanagedType.I1)]
public byte[] byIpResolver;
public ushort wIpResolverPort;
public ushort wDvrPort;
public ushort wHttpPortNo;
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 6, ArraySubType = UnmanagedType.I1)]
public byte[] byRes2;
public NET_DVR_IPADDR struMulticastIpAddr;/* å¤æç»å°å */
public NET_DVR_PPPOECFG struPPPoE;
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 24, ArraySubType = UnmanagedType.I1)]
public byte[] byRes3;
}
//ç½ç»é
ç½®ç»æ
[StructLayoutAttribute(LayoutKind.Sequential, CharSet = CharSet.Ansi)]
public struct NET_DVR_NETCFG
{
public uint dwSize;
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_ETHERNET, ArraySubType = UnmanagedType.Struct)]
public NET_DVR_ETHERNET[] struEtherNet;/* 以太ç½å£ */
[MarshalAsAttribute(UnmanagedType.ByValTStr, SizeConst = 16)]
public string sManageHostIP;//è¿ç¨ç®¡ç主æºå°å
public ushort wManageHostPort;//è¿ç¨ç®¡ç主æºç«¯å£å·
[MarshalAsAttribute(UnmanagedType.ByValTStr, SizeConst = 16)]
public string sIPServerIP;//IPServeræå¡å¨å°å
[MarshalAsAttribute(UnmanagedType.ByValTStr, SizeConst = 16)]
public string sMultiCastIP;//å¤æç»å°å
[MarshalAsAttribute(UnmanagedType.ByValTStr, SizeConst = 16)]
public string sGatewayIP;//ç½å
³å°å
[MarshalAsAttribute(UnmanagedType.ByValTStr, SizeConst = 16)]
public string sNFSIP;//NFS主æºIPå°å
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = PATHNAME_LEN, ArraySubType = UnmanagedType.I1)]
public byte[] sNFSDirectory;//NFSç®å½
public uint dwPPPOE;//0-ä¸å¯ç¨,1-å¯ç¨
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = NAME_LEN, ArraySubType = UnmanagedType.I1)]
public byte[] sPPPoEUser;//PPPoEç¨æ·å
[MarshalAsAttribute(UnmanagedType.ByValTStr, SizeConst = PASSWD_LEN)]
public string sPPPoEPassword;// PPPoEå¯ç
[MarshalAsAttribute(UnmanagedType.ByValTStr, SizeConst = 16)]
public string sPPPoEIP;//PPPoE IPå°å(åªè¯»)
public ushort wHttpPort;//HTTP端å£å·
}
[StructLayoutAttribute(LayoutKind.Sequential, CharSet = CharSet.Ansi)]
public struct NET_DVR_SIP_CFG
{
public uint dwSize;
public byte byEnableAutoLogin; //使è½èªå¨æ³¨åï¼0-ä¸ä½¿è½ï¼1-使è½
public byte byLoginStatus; //注åç¶æï¼0-æªæ³¨åï¼1-已注åï¼æ¤åæ°åªè½è·å
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 2, ArraySubType = UnmanagedType.I1)]
public byte[] byRes1;
public NET_DVR_IPADDR stuServerIP; //SIPæå¡å¨IP
public ushort wServerPort; //SIPæå¡å¨ç«¯å£
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 2, ArraySubType = UnmanagedType.I1)]
public byte[] byRes2;
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = NAME_LEN, ArraySubType = UnmanagedType.I1)]
public byte[] byUserName; //注åç¨æ·å
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = PASSWD_LEN, ArraySubType = UnmanagedType.I1)]
public byte[] byPassWord; //注åå¯ç
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_NUMBER_LEN, ArraySubType = UnmanagedType.I1)]
public byte[] byLocalNo;
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_NAME_LEN, ArraySubType = UnmanagedType.I1)]
public byte[] byDispalyName; //设å¤æ¾ç¤ºå称
public ushort wLocalPort; //æ¬å°ç«¯å£
public byte byLoginCycle; //注åå¨æï¼1-99åé
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 129, ArraySubType = UnmanagedType.I1)]
public byte[] byRes;
}
//IPå¯è§å¯¹è®²åæºé
ç½®
[StructLayoutAttribute(LayoutKind.Sequential, CharSet = CharSet.Ansi)]
public struct NET_DVR_IP_VIEW_DEVCFG
{
public uint dwSize;
public byte byDefaultRing; //é»è®¤éé³ï¼èå´1-6
public byte byRingVolume; //éé³é³éï¼èå´0-9
public byte byInputVolume; //è¾å
¥é³éå¼ï¼èå´0-6
public byte byOutputVolume; //è¾åºé³éå¼ï¼èå´0-9
public ushort wRtpPort; //Rtp端å£
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 2, ArraySubType = UnmanagedType.I1)]
public byte[] byRes1;
public uint dwPreviewDelayTime; //é¢è§å»¶æ¶é
ç½®ï¼0-30ç§
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 64, ArraySubType = UnmanagedType.I1)]
public byte[] byRes2;
}
//Ipå¯è§å¯¹è®²é³é¢ç¸å
³åæ°é
ç½®
[StructLayoutAttribute(LayoutKind.Sequential, CharSet = CharSet.Ansi)]
public struct NET_DVR_IP_VIEW_AUDIO_CFG
{
public uint dwSize;
public byte byAudioEncPri1; //é³é¢ç¼ç ä¼å
级1ï¼0-OggVorbisï¼1-G711_Uï¼2-G711_Aï¼ 5-MPEG2,6-G726ï¼7-AAC
public byte byAudioEncPri2; //é³é¢ç¼ç ä¼å
级2ï¼å½sipæå¡å¨ä¸æ¯æé³é¢ç¼ç 1æ¶ä¼ä½¿ç¨é³é¢ç¼ç 2ï¼0-OggVorbisï¼1-G711_Uï¼2-G711_Aï¼ 5-MPEG2,6-G726ï¼7-AAC
public ushort wAudioPacketLen1; //é³é¢ç¼ç 1æ°æ®å
é¿åº¦
public ushort wAudioPacketLen2; //é³é¢ç¼ç 2æ°æ®å
é¿åº¦
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 30, ArraySubType = UnmanagedType.I1)]
public byte[] byRes;
}
//IPåæºå¼å«å¯¹è®²åæ°é
ç½®ç»æä½
[StructLayoutAttribute(LayoutKind.Sequential, CharSet = CharSet.Ansi)]
public struct NET_DVR_IP_VIEW_CALL_CFG
{
public uint dwSize ;
public byte byEnableAutoResponse; //使è½èªå¨åºç,0-ä¸ä½¿è½ï¼1-使è½
public byte byAudoResponseTime; //èªå¨åºçæ¶é´ï¼0-30ç§
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 2, ArraySubType = UnmanagedType.I1)]
public byte[] byRes1;
public byte byEnableAlarmNumber1; //å¯å¨æ¥è¦å·ç 1ï¼0-ä¸å¯å¨ï¼1-å¯å¨
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 3, ArraySubType = UnmanagedType.I1)]
public byte[] byRes;
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_NUMBER_LEN, ArraySubType = UnmanagedType.I1)]
public byte[] byAlarmNumber1; //å¼å«å·ç 1
public byte byEnableAlarmNumber2; //å¯å¨æ¥è¦å·ç 2ï¼0-ä¸å¯å¨ï¼1-å¯å¨
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 3, ArraySubType = UnmanagedType.I1)]
public byte[] byRes3;
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_NUMBER_LEN, ArraySubType = UnmanagedType.I1)]
public byte[] byAlarmNumber2; //å¼å«å·ç 2ï¼å¼å«å·ç 1失败ä¼å°è¯å¼å«å·ç 2
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 72, ArraySubType = UnmanagedType.I1)]
public byte[] byRes4;
}
//ééå¾è±¡ç»æ
//移å¨ä¾¦æµ(åç»æ)(æç»æ¹å¼æ©å±)
[StructLayoutAttribute(LayoutKind.Sequential, CharSet = CharSet.Ansi)]
public struct NET_DVR_RECORDCHAN
{
public uint dwMaxRecordChanNum; //设å¤æ¯æçæ大å
³èå½åééæ°-åªè¯»
public uint dwCurRecordChanNum; //å½åå®é
å·²é
ç½®çå
³èå½åééæ°
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_CHANNUM_V30, ArraySubType = UnmanagedType.U4)]
public uint dwRelRecordChan; /* å®é
触åå½åééï¼æå¼è¡¨ç¤º,éç¨ç´§ååæåï¼ä»ä¸æ 0 - MAX_CHANNUM_V30-1ææï¼å¦æä¸é´éå°0xffffffff,ååç»æ æ*/
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 64, ArraySubType = UnmanagedType.I1)]
public byte[] byRes; //ä¿ç
}
//ééå¾è±¡ç»æ
//移å¨ä¾¦æµ(åç»æ)(9000æ©å±)
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_MOTION_V30
{
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 96*64, ArraySubType = UnmanagedType.I1)]
public byte[] byMotionScope;/*侦æµåºå,0-96ä½,表示64è¡,å
±æ96*64个å°å®å,为1表示æ¯ç§»å¨ä¾¦æµåºå,0-表示ä¸æ¯*/
public byte byMotionSensitive;/*移å¨ä¾¦æµçµæ度, 0 - 5,è¶é«è¶çµæ,oxffå
³é*/
public byte byEnableHandleMotion;/* æ¯å¦å¤ç移å¨ä¾¦æµ 0ï¼å¦ 1ï¼æ¯*/
public byte byEnableDisplay;/* å¯ç¨ç§»å¨ä¾¦æµé«äº®æ¾ç¤ºï¼0- å¦ï¼1- æ¯ */
public byte reservedData;
public NET_DVR_HANDLEEXCEPTION_V30 struMotionHandleType;/* å¤çæ¹å¼ */
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_DAYS * MAX_TIMESEGMENT_V30, ArraySubType = UnmanagedType.Struct)]
public NET_DVR_SCHEDTIME[] struAlarmTime;/*å¸é²æ¶é´*/
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_CHANNUM_V30, ArraySubType = UnmanagedType.I1)]
public byte[] byRelRecordChan;/* æ¥è¦è§¦åçå½è±¡éé*/
}
//移å¨ä¾¦æµ(åç»æ)
[StructLayoutAttribute(LayoutKind.Sequential, CharSet = CharSet.Ansi)]
public struct NET_DVR_MOTION
{
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 396, ArraySubType = UnmanagedType.I1)]
public byte[] byMotionScope;/*侦æµåºå,å
±æ22*18个å°å®å,为1表示æ¹å®åæ¯ç§»å¨ä¾¦æµåºå,0-表示ä¸æ¯*/
public byte byMotionSensitive;/*移å¨ä¾¦æµçµæ度, 0 - 5,è¶é«è¶çµæ,0xffå
³é*/
public byte byEnableHandleMotion;/* æ¯å¦å¤ç移å¨ä¾¦æµ */
[MarshalAsAttribute(UnmanagedType.ByValTStr, SizeConst = 2)]
public string reservedData;
public NET_DVR_HANDLEEXCEPTION strMotionHandleType;/* å¤çæ¹å¼ */
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_DAYS * MAX_TIMESEGMENT, ArraySubType = UnmanagedType.Struct)]
public NET_DVR_SCHEDTIME[] struAlarmTime;//å¸é²æ¶é´
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_CHANNUM, ArraySubType = UnmanagedType.I1)]
public byte[] byRelRecordChan;//æ¥è¦è§¦åçå½è±¡éé,为1表示触å该éé
}
//é®æ¡æ¥è¦(åç»æ)(9000æ©å±) åºå大å°704*576
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_HIDEALARM_V30
{
public uint dwEnableHideAlarm;/* æ¯å¦å¯å¨é®æ¡æ¥è¦ ,0-å¦,1-ä½çµæ度 2-ä¸çµæ度 3-é«çµæ度*/
public ushort wHideAlarmAreaTopLeftX;/* é®æ¡åºåçxåæ */
public ushort wHideAlarmAreaTopLeftY;/* é®æ¡åºåçyåæ */
public ushort wHideAlarmAreaWidth;/* é®æ¡åºåç宽 */
public ushort wHideAlarmAreaHeight;/*é®æ¡åºåçé«*/
public NET_DVR_HANDLEEXCEPTION_V30 strHideAlarmHandleType; /* å¤çæ¹å¼ */
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_DAYS * MAX_TIMESEGMENT_V30, ArraySubType = UnmanagedType.Struct)]
public NET_DVR_SCHEDTIME[] struAlarmTime;//å¸é²æ¶é´
}
//é®æ¡æ¥è¦(åç»æ) åºå大å°704*576
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_HIDEALARM
{
public uint dwEnableHideAlarm;/* æ¯å¦å¯å¨é®æ¡æ¥è¦ ,0-å¦,1-ä½çµæ度 2-ä¸çµæ度 3-é«çµæ度*/
public ushort wHideAlarmAreaTopLeftX;/* é®æ¡åºåçxåæ */
public ushort wHideAlarmAreaTopLeftY;/* é®æ¡åºåçyåæ */
public ushort wHideAlarmAreaWidth;/* é®æ¡åºåç宽 */
public ushort wHideAlarmAreaHeight;/*é®æ¡åºåçé«*/
public NET_DVR_HANDLEEXCEPTION strHideAlarmHandleType;/* å¤çæ¹å¼ */
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_DAYS * MAX_TIMESEGMENT, ArraySubType = UnmanagedType.Struct)]
public NET_DVR_SCHEDTIME[] struAlarmTime;//å¸é²æ¶é´
}
//ä¿¡å·ä¸¢å¤±æ¥è¦(åç»æ)(9000æ©å±)
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_VILOST_V30
{
public byte byEnableHandleVILost;/* æ¯å¦å¤çä¿¡å·ä¸¢å¤±æ¥è¦ */
public NET_DVR_HANDLEEXCEPTION_V30 strVILostHandleType;/* å¤çæ¹å¼ */
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 56, ArraySubType = UnmanagedType.Struct)]
public NET_DVR_SCHEDTIME[] struAlarmTime;//å¸é²æ¶é´
}
//ä¿¡å·ä¸¢å¤±æ¥è¦(åç»æ)
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_VILOST
{
public byte byEnableHandleVILost;/* æ¯å¦å¤çä¿¡å·ä¸¢å¤±æ¥è¦ */
public NET_DVR_HANDLEEXCEPTION strVILostHandleType;/* å¤çæ¹å¼ */
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_DAYS * MAX_TIMESEGMENT_V30, ArraySubType = UnmanagedType.Struct)]
public NET_DVR_SCHEDTIME[] struAlarmTime;//å¸é²æ¶é´
}
//é®æ¡åºå(åç»æ)
[System.Runtime.InteropServices.StructLayoutAttribute(System.Runtime.InteropServices.LayoutKind.Sequential)]
public struct NET_DVR_SHELTER
{
public ushort wHideAreaTopLeftX;/* é®æ¡åºåçxåæ */
public ushort wHideAreaTopLeftY;/* é®æ¡åºåçyåæ */
public ushort wHideAreaWidth;/* é®æ¡åºåç宽 */
public ushort wHideAreaHeight;/*é®æ¡åºåçé«*/
}
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_COLOR
{
public byte byBrightness;/*亮度,0-255*/
public byte byContrast;/*对æ¯åº¦,0-255*/
public byte bySaturation;/*饱å度,0-255*/
public byte byHue;/*è²è°,0-255*/
}
//ééå¾è±¡ç»æ(9000æ©å±)
[StructLayoutAttribute(LayoutKind.Sequential, CharSet = CharSet.Ansi)]
public struct NET_DVR_PICCFG_V30
{
public uint dwSize;
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = NAME_LEN, ArraySubType = UnmanagedType.I1)]
public byte[] sChanName;
public uint dwVideoFormat;/* åªè¯» è§é¢å¶å¼ 1-NTSC 2-PAL*/
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 64, ArraySubType = UnmanagedType.I1)]
public byte[] byReservedData;/*ä¿ç*/
//æ¾ç¤ºééå
public uint dwShowChanName;// é¢è§çå¾è±¡ä¸æ¯å¦æ¾ç¤ºééå称,0-ä¸æ¾ç¤º,1-æ¾ç¤º åºå大å°704*576
public ushort wShowNameTopLeftX;/* ééå称æ¾ç¤ºä½ç½®çxåæ */
public ushort wShowNameTopLeftY;/* ééå称æ¾ç¤ºä½ç½®çyåæ */
//è§é¢ä¿¡å·ä¸¢å¤±æ¥è¦
public NET_DVR_VILOST_V30 struVILost;
public NET_DVR_VILOST_V30 struRes;/*ä¿ç*/
//移å¨ä¾¦æµ
public NET_DVR_MOTION_V30 struMotion;
//é®æ¡æ¥è¦
public NET_DVR_HIDEALARM_V30 struHideAlarm;
//é®æ¡ åºå大å°704*576
public uint dwEnableHide;/* æ¯å¦å¯å¨é®æ¡ ,0-å¦,1-æ¯*/
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_SHELTERNUM, ArraySubType = UnmanagedType.Struct)]
public NET_DVR_SHELTER[] struShelter;
//OSD
public uint dwShowOsd;// é¢è§çå¾è±¡ä¸æ¯å¦æ¾ç¤ºOSD,0-ä¸æ¾ç¤º,1-æ¾ç¤º åºå大å°704*576
public ushort wOSDTopLeftX;/* OSDçxåæ */
public ushort wOSDTopLeftY;/* OSDçyåæ */
public byte byOSDType;/* OSDç±»å(主è¦æ¯å¹´ææ¥æ ¼å¼) */
/* 0: XXXX-XX-XX å¹´ææ¥ */
/* 1: XX-XX-XXXX ææ¥å¹´ */
/* 2: XXXXå¹´XXæXXæ¥ */
/* 3: XXæXXæ¥XXXXå¹´ */
/* 4: XX-XX-XXXX æ¥æå¹´*/
/* 5: XXæ¥XXæXXXXå¹´ */
public byte byDispWeek;/* æ¯å¦æ¾ç¤ºææ */
public byte byOSDAttrib;/* OSDå±æ§:éæï¼éªç */
/* 0: ä¸æ¾ç¤ºOSD */
/* 1: éæ,éªç */
/* 2: éæ,ä¸éªç */
/* 3: éªç,ä¸éæ */
/* 4: ä¸éæ,ä¸éªç */
public byte byHourOSDType;/* OSDå°æ¶å¶:0-24å°æ¶å¶,1-12å°æ¶å¶ */
public byte byFontSize;//åä½å¤§å°ï¼16*16(ä¸)/8*16(è±)ï¼1-32*32(ä¸)/16*32(è±)ï¼2-64*64(ä¸)/32*64(è±) 3-48*48(ä¸)/24*48(è±) 0xff-èªéåº(adaptive)
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 63, ArraySubType = UnmanagedType.I1)]
public byte[] byRes;
}
//ééå¾è±¡ç»æSDK_V14æ©å±
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_PICCFG_EX
{
public uint dwSize;
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = NAME_LEN, ArraySubType = UnmanagedType.I1)]
public byte[] sChanName;
public uint dwVideoFormat;/* åªè¯» è§é¢å¶å¼ 1-NTSC 2-PAL*/
public byte byBrightness;/*亮度,0-255*/
public byte byContrast;/*对æ¯åº¦,0-255*/
public byte bySaturation;/*饱å度,0-255 */
public byte byHue;/*è²è°,0-255*/
//æ¾ç¤ºééå
public uint dwShowChanName;// é¢è§çå¾è±¡ä¸æ¯å¦æ¾ç¤ºééå称,0-ä¸æ¾ç¤º,1-æ¾ç¤º åºå大å°704*576
public ushort wShowNameTopLeftX;/* ééå称æ¾ç¤ºä½ç½®çxåæ */
public ushort wShowNameTopLeftY;/* ééå称æ¾ç¤ºä½ç½®çyåæ */
//ä¿¡å·ä¸¢å¤±æ¥è¦
public NET_DVR_VILOST struVILost;
//移å¨ä¾¦æµ
public NET_DVR_MOTION struMotion;
//é®æ¡æ¥è¦
public NET_DVR_HIDEALARM struHideAlarm;
//é®æ¡ åºå大å°704*576
public uint dwEnableHide;/* æ¯å¦å¯å¨é®æ¡ ,0-å¦,1-æ¯*/
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_SHELTERNUM, ArraySubType = UnmanagedType.Struct)]
public NET_DVR_SHELTER[] struShelter;
//OSD
public uint dwShowOsd;// é¢è§çå¾è±¡ä¸æ¯å¦æ¾ç¤ºOSD,0-ä¸æ¾ç¤º,1-æ¾ç¤º åºå大å°704*576
public ushort wOSDTopLeftX;/* OSDçxåæ */
public ushort wOSDTopLeftY;/* OSDçyåæ */
public byte byOSDType;/* OSDç±»å(主è¦æ¯å¹´ææ¥æ ¼å¼) */
/* 0: XXXX-XX-XX å¹´ææ¥ */
/* 1: XX-XX-XXXX ææ¥å¹´ */
/* 2: XXXXå¹´XXæXXæ¥ */
/* 3: XXæXXæ¥XXXXå¹´ */
/* 4: XX-XX-XXXX æ¥æå¹´*/
/* 5: XXæ¥XXæXXXXå¹´ */
public byte byDispWeek;/* æ¯å¦æ¾ç¤ºææ */
public byte byOSDAttrib;/* OSDå±æ§:éæï¼éªç */
/* 0: ä¸æ¾ç¤ºOSD */
/* 1: éæ,éªç */
/* 2: éæ,ä¸éªç */
/* 3: éªç,ä¸éæ */
/* 4: ä¸éæ,ä¸éªç */
public byte byHourOsdType;/* OSDå°æ¶å¶:0-24å°æ¶å¶,1-12å°æ¶å¶ */
}
//ééå¾è±¡ç»æ(SDK_V13åä¹åçæ¬)
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_PICCFG
{
public uint dwSize;
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = NAME_LEN, ArraySubType = UnmanagedType.I1)]
public byte[] sChanName;
public uint dwVideoFormat;/* åªè¯» è§é¢å¶å¼ 1-NTSC 2-PAL*/
public byte byBrightness;/*亮度,0-255*/
public byte byContrast;/*对æ¯åº¦,0-255*/
public byte bySaturation;/*饱å度,0-255 */
public byte byHue;/*è²è°,0-255*/
//æ¾ç¤ºééå
public uint dwShowChanName;// é¢è§çå¾è±¡ä¸æ¯å¦æ¾ç¤ºééå称,0-ä¸æ¾ç¤º,1-æ¾ç¤º åºå大å°704*576
public ushort wShowNameTopLeftX;/* ééå称æ¾ç¤ºä½ç½®çxåæ */
public ushort wShowNameTopLeftY;/* ééå称æ¾ç¤ºä½ç½®çyåæ */
//ä¿¡å·ä¸¢å¤±æ¥è¦
public NET_DVR_VILOST struVILost;
//移å¨ä¾¦æµ
public NET_DVR_MOTION struMotion;
//é®æ¡æ¥è¦
public NET_DVR_HIDEALARM struHideAlarm;
//é®æ¡ åºå大å°704*576
public uint dwEnableHide;/* æ¯å¦å¯å¨é®æ¡ ,0-å¦,1-æ¯*/
public ushort wHideAreaTopLeftX;/* é®æ¡åºåçxåæ */
public ushort wHideAreaTopLeftY;/* é®æ¡åºåçyåæ */
public ushort wHideAreaWidth;/* é®æ¡åºåç宽 */
public ushort wHideAreaHeight;/*é®æ¡åºåçé«*/
//OSD
public uint dwShowOsd;// é¢è§çå¾è±¡ä¸æ¯å¦æ¾ç¤ºOSD,0-ä¸æ¾ç¤º,1-æ¾ç¤º åºå大å°704*576
public ushort wOSDTopLeftX;/* OSDçxåæ */
public ushort wOSDTopLeftY;/* OSDçyåæ */
public byte byOSDType;/* OSDç±»å(主è¦æ¯å¹´ææ¥æ ¼å¼) */
/* 0: XXXX-XX-XX å¹´ææ¥ */
/* 1: XX-XX-XXXX ææ¥å¹´ */
/* 2: XXXXå¹´XXæXXæ¥ */
/* 3: XXæXXæ¥XXXXå¹´ */
/* 4: XX-XX-XXXX æ¥æå¹´*/
/* 5: XXæ¥XXæXXXXå¹´ */
public byte byDispWeek;/* æ¯å¦æ¾ç¤ºææ */
public byte byOSDAttrib;/* OSDå±æ§:éæï¼éªç */
/* 0: ä¸æ¾ç¤ºOSD */
/* 1: éæ,éªç */
/* 2: éæ,ä¸éªç */
/* 3: éªç,ä¸éæ */
/* 4: ä¸éæ,ä¸éªç */
public byte reservedData2;
}
//ç æµå缩åæ°(åç»æ)(9000æ©å±)
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_COMPRESSION_INFO_V30
{
public byte byStreamType;//ç æµç±»å 0-è§é¢æµ, 1-å¤åæµ, 表示äºä»¶å缩åæ°æ¶æé«ä½è¡¨ç¤ºæ¯å¦å¯ç¨å缩åæ°
public byte byResolution;//å辨ç0-DCIF 1-CIF, 2-QCIF, 3-4CIF, 4-2CIF 5ï¼ä¿çï¼16-VGAï¼640*480ï¼ 17-UXGAï¼1600*1200ï¼ 18-SVGA ï¼800*600ï¼19-HD720pï¼1280*720ï¼20-XVGA 21-HD900p
public byte byBitrateType;//ç çç±»å 0:åç ç, 1:å®ç ç
public byte byPicQuality;//å¾è±¡è´¨é 0-æ好 1-次好 2-è¾å¥½ 3-ä¸è¬ 4-è¾å·® 5-å·®
public uint dwVideoBitrate;//è§é¢ç ç 0-ä¿ç 1-16K 2-32K 3-48k 4-64K 5-80K 6-96K 7-128K 8-160k 9-192K 10-224K 11-256K 12-320K
// 13-384K 14-448K 15-512K 16-640K 17-768K 18-896K 19-1024K 20-1280K 21-1536K 22-1792K 23-2048K
//æé«ä½(31ä½)ç½®æ1表示æ¯èªå®ä¹ç æµ, 0-30ä½è¡¨ç¤ºç æµå¼ã
public uint dwVideoFrameRate;//帧ç 0-å
¨é¨; 1-1/16; 2-1/8; 3-1/4; 4-1/2; 5-1; 6-2; 7-4; 8-6; 9-8; 10-10; 11-12; 12-16; 13-20; V2.0çæ¬ä¸æ°å 14-15; 15-18; 16-22;
public ushort wIntervalFrameI;//I帧é´é
//2006-08-11 å¢å åP帧çé
ç½®æ¥å£ï¼å¯ä»¥æ¹åå®æ¶æµå»¶æ¶é®é¢
public byte byIntervalBPFrame;//0-BBP帧; 1-BP帧; 2-åP帧
public byte byres1; //ä¿ç
public byte byVideoEncType;//è§é¢ç¼ç ç±»å 0 hik264;1æ åh264; 2æ åmpeg4;
public byte byAudioEncType; //é³é¢ç¼ç ç±»å 0ï¼OggVorbis
public byte byVideoEncComplexity; //è§é¢ç¼ç å¤æ度ï¼0-ä½ï¼1-ä¸ï¼2é«,0xfe:èªå¨ï¼åæºä¸è´
public byte byEnableSvc; //0 - ä¸å¯ç¨SVCåè½ï¼1- å¯ç¨SVCåè½
public byte byFormatType; //å°è£
ç±»åï¼1-裸æµï¼2-RTPå°è£
ï¼3-PSå°è£
ï¼4-TSå°è£
ï¼5-ç§æï¼6-FLVï¼7-ASFï¼8-3GP,9-RTP+PSï¼å½æ ï¼GB28181ï¼ï¼0xff-æ æ
public byte byAudioBitRate; //é³é¢ç ç0-é»è®¤ï¼1-8Kbps, 2- 16Kbps, 3-32Kbpsï¼4-64Kbpsï¼5-128Kbpsï¼6-192Kbpsï¼(IPC5.1.0é»è®¤4-64Kbps)
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 6, ArraySubType = UnmanagedType.I1)]
public byte[] byres;//è¿éä¿çé³é¢çå缩åæ°
}
//ééå缩åæ°(9000æ©å±)
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_COMPRESSIONCFG_V30
{
public uint dwSize;
public NET_DVR_COMPRESSION_INFO_V30 struNormHighRecordPara;//å½å 对åº8000çæ®é
public NET_DVR_COMPRESSION_INFO_V30 struRes;//ä¿ç char reserveData[28];
public NET_DVR_COMPRESSION_INFO_V30 struEventRecordPara;//äºä»¶è§¦åå缩åæ°
public NET_DVR_COMPRESSION_INFO_V30 struNetPara;//ç½ä¼ (åç æµ)
}
//ç æµå缩åæ°(åç»æ)
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_COMPRESSION_INFO
{
public byte byStreamType;//ç æµç±»å0-è§é¢æµ,1-å¤åæµ,表示å缩åæ°æ¶æé«ä½è¡¨ç¤ºæ¯å¦å¯ç¨å缩åæ°
public byte byResolution;//å辨ç0-DCIF 1-CIF, 2-QCIF, 3-4CIF, 4-2CIF, 5-2QCIF(352X144)(车载ä¸ç¨)
public byte byBitrateType;//ç çç±»å0:åç çï¼1:å®ç ç
public byte byPicQuality;//å¾è±¡è´¨é 0-æ好 1-次好 2-è¾å¥½ 3-ä¸è¬ 4-è¾å·® 5-å·®
public uint dwVideoBitrate; //è§é¢ç ç 0-ä¿ç 1-16K(ä¿ç) 2-32K 3-48k 4-64K 5-80K 6-96K 7-128K 8-160k 9-192K 10-224K 11-256K 12-320K
// 13-384K 14-448K 15-512K 16-640K 17-768K 18-896K 19-1024K 20-1280K 21-1536K 22-1792K 23-2048K
//æé«ä½(31ä½)ç½®æ1表示æ¯èªå®ä¹ç æµ, 0-30ä½è¡¨ç¤ºç æµå¼(MIN-32K MAX-8192K)ã
public uint dwVideoFrameRate;//帧ç 0-å
¨é¨; 1-1/16; 2-1/8; 3-1/4; 4-1/2; 5-1; 6-2; 7-4; 8-6; 9-8; 10-10; 11-12; 12-16; 13-20;
}
//ééå缩åæ°
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_COMPRESSIONCFG
{
public uint dwSize;
public NET_DVR_COMPRESSION_INFO struRecordPara;//å½å/äºä»¶è§¦åå½å
public NET_DVR_COMPRESSION_INFO struNetPara;//ç½ä¼ /ä¿ç
}
//ç æµå缩åæ°(åç»æ)(æ©å±) å¢å I帧é´é
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_COMPRESSION_INFO_EX
{
public byte byStreamType;//ç æµç±»å0-è§é¢æµ, 1-å¤åæµ
public byte byResolution;//å辨ç0-DCIF 1-CIF, 2-QCIF, 3-4CIF, 4-2CIF, 5-2QCIF(352X144)(车载ä¸ç¨)
public byte byBitrateType;//ç çç±»å0:åç çï¼1:å®ç ç
public byte byPicQuality;//å¾è±¡è´¨é 0-æ好 1-次好 2-è¾å¥½ 3-ä¸è¬ 4-è¾å·® 5-å·®
public uint dwVideoBitrate;//è§é¢ç ç 0-ä¿ç 1-16K(ä¿ç) 2-32K 3-48k 4-64K 5-80K 6-96K 7-128K 8-160k 9-192K 10-224K 11-256K 12-320K
// 13-384K 14-448K 15-512K 16-640K 17-768K 18-896K 19-1024K 20-1280K 21-1536K 22-1792K 23-2048K
//æé«ä½(31ä½)ç½®æ1表示æ¯èªå®ä¹ç æµ, 0-30ä½è¡¨ç¤ºç æµå¼(MIN-32K MAX-8192K)ã
public uint dwVideoFrameRate;//帧ç 0-å
¨é¨; 1-1/16; 2-1/8; 3-1/4; 4-1/2; 5-1; 6-2; 7-4; 8-6; 9-8; 10-10; 11-12; 12-16; 13-20, //V2.0å¢å 14-15, 15-18, 16-22;
public ushort wIntervalFrameI;//I帧é´é
//2006-08-11 å¢å åP帧çé
ç½®æ¥å£ï¼å¯ä»¥æ¹åå®æ¶æµå»¶æ¶é®é¢
public byte byIntervalBPFrame;//0-BBP帧; 1-BP帧; 2-åP帧
public byte byRes;
}
//ééå缩åæ°(æ©å±)
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_COMPRESSIONCFG_EX
{
public uint dwSize;
public NET_DVR_COMPRESSION_INFO_EX struRecordPara;//å½å
public NET_DVR_COMPRESSION_INFO_EX struNetPara;//ç½ä¼
}
//æ¶é´æ®µå½ååæ°é
ç½®(åç»æ)
[StructLayoutAttribute(LayoutKind.Sequential, CharSet = CharSet.Ansi)]
public struct NET_DVR_RECORDSCHED
{
public NET_DVR_SCHEDTIME struRecordTime;
public byte byRecordType;//0:å®æ¶å½åï¼1:移å¨ä¾¦æµï¼2:æ¥è¦å½åï¼3:å¨æµ|æ¥è¦ï¼4:å¨æµ&æ¥è¦, 5:å½ä»¤è§¦å, 6: æºè½å½å
[MarshalAsAttribute(UnmanagedType.ByValTStr, SizeConst = 3)]
public string reservedData;
}
//å
¨å¤©å½ååæ°é
ç½®(åç»æ)
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_RECORDDAY
{
public ushort wAllDayRecord;/* æ¯å¦å
¨å¤©å½å 0-å¦ 1-æ¯*/
public byte byRecordType;/* å½è±¡ç±»å 0:å®æ¶å½åï¼1:移å¨ä¾¦æµï¼2:æ¥è¦å½åï¼3:å¨æµ|æ¥è¦ï¼4:å¨æµ&æ¥è¦ 5:å½ä»¤è§¦å, 6: æºè½å½å*/
public byte reservedData;
}
//ééå½ååæ°é
ç½®(9000æ©å±)
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_RECORD_V30
{
public uint dwSize;
public uint dwRecord;/*æ¯å¦å½å 0-å¦ 1-æ¯*/
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_DAYS, ArraySubType = UnmanagedType.Struct)]
public NET_DVR_RECORDDAY[] struRecAllDay;
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_DAYS * MAX_TIMESEGMENT_V30, ArraySubType = UnmanagedType.Struct)]
public NET_DVR_RECORDSCHED[] struRecordSched;
public uint dwRecordTime;/* å½è±¡å»¶æ¶é¿åº¦ 0-5ç§ï¼ 1-20ç§ï¼ 2-30ç§ï¼ 3-1åéï¼ 4-2åéï¼ 5-5åéï¼ 6-10åé*/
public uint dwPreRecordTime;/* é¢å½æ¶é´ 0-ä¸é¢å½ 1-5ç§ 2-10ç§ 3-15ç§ 4-20ç§ 5-25ç§ 6-30ç§ 7-0xffffffff(å°½å¯è½é¢å½) */
public uint dwRecorderDuration;/* å½åä¿åçæé¿æ¶é´ */
public byte byRedundancyRec;/*æ¯å¦åä½å½å,éè¦æ°æ®åå¤ä»½ï¼0/1*/
public byte byAudioRec;/*å½åæ¶å¤åæµç¼ç æ¶æ¯å¦è®°å½é³é¢æ°æ®ï¼å½å¤ææ¤æ³è§*/
public byte byStreamType; // 0:主ç æµ 1ï¼åç æµ
public byte byPassbackRecord; // 0:ä¸åä¼ å½å 1ï¼åä¼ å½å
public ushort wLockDuration; // å½åéå®æ¶é¿ï¼åä½å°æ¶ 0表示ä¸éå®ï¼0xffff表示永ä¹
éå®ï¼å½å段çæ¶é¿å¤§äºéå®çæç»æ¶é¿çå½åï¼å°ä¸ä¼éå®
public byte byRecordBackup; // 0:å½åä¸åæ¡£ 1ï¼å½ååæ¡£
public byte bySVCLevel; //SVCæ½å¸§ç±»åï¼0-ä¸æ½ï¼1-æ½äºåä¹ä¸ 2-æ½ååä¹ä¸
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 4, ArraySubType = UnmanagedType.I1)]
public byte[] byReserve;
}
//ééå½ååæ°é
ç½®
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_RECORD
{
public uint dwSize;
public uint dwRecord;/*æ¯å¦å½å 0-å¦ 1-æ¯*/
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_DAYS, ArraySubType = UnmanagedType.Struct)]
public NET_DVR_RECORDDAY[] struRecAllDay;
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_DAYS * MAX_TIMESEGMENT, ArraySubType = UnmanagedType.Struct)]
public NET_DVR_RECORDSCHED[] struRecordSched;
public uint dwRecordTime;/* å½è±¡æ¶é´é¿åº¦ */
public uint dwPreRecordTime;/* é¢å½æ¶é´ 0-ä¸é¢å½ 1-5ç§ 2-10ç§ 3-15ç§ 4-20ç§ 5-25ç§ 6-30ç§ 7-0xffffffff(å°½å¯è½é¢å½) */
}
//äºå°å议表ç»æé
ç½®
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_PTZ_PROTOCOL
{
public uint dwType;/*解ç å¨ç±»åå¼ï¼ä»1å¼å§è¿ç»éå¢*/
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = DESC_LEN, ArraySubType = UnmanagedType.I1)]
public byte[] byDescribe;/*解ç å¨çæ述符ï¼å8000ä¸çä¸è´*/
}
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_PTZCFG
{
public uint dwSize;
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = PTZ_PROTOCOL_NUM, ArraySubType = UnmanagedType.Struct)]
public NET_DVR_PTZ_PROTOCOL[] struPtz;/*æ大200ä¸PTZåè®®*/
public uint dwPtzNum;/*ææçptzåè®®æ°ç®ï¼ä»0å¼å§(å³è®¡ç®æ¶å 1)*/
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 8, ArraySubType = UnmanagedType.I1)]
public byte[] byRes;
}
/***************************äºå°ç±»å(end)******************************/
//éé解ç å¨(äºå°)åæ°é
ç½®(9000æ©å±)
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_DECODERCFG_V30
{
public uint dwSize;
public uint dwBaudRate;//æ³¢ç¹ç(bps)ï¼0ï¼50ï¼1ï¼75ï¼2ï¼110ï¼3ï¼150ï¼4ï¼300ï¼5ï¼600ï¼6ï¼1200ï¼7ï¼2400ï¼8ï¼4800ï¼9ï¼9600ï¼10ï¼19200ï¼ 11ï¼38400ï¼12ï¼57600ï¼13ï¼76800ï¼14ï¼115.2k;
public byte byDataBit;// æ°æ®æå ä½ 0ï¼5ä½ï¼1ï¼6ä½ï¼2ï¼7ä½ï¼3ï¼8ä½;
public byte byStopBit;// åæ¢ä½ 0ï¼1ä½ï¼1ï¼2ä½
public byte byParity;// æ ¡éª 0ï¼æ æ ¡éªï¼1ï¼å¥æ ¡éªï¼2ï¼å¶æ ¡éª;
public byte byFlowcontrol;// 0ï¼æ ï¼1ï¼è½¯æµæ§,2-硬æµæ§
public ushort wDecoderType;//解ç å¨ç±»å, ä»0å¼å§ï¼å¯¹åºptzåè®®å表
public ushort wDecoderAddress;/*解ç å¨å°å:0 - 255*/
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_PRESET_V30, ArraySubType = UnmanagedType.I1)]
public byte[] bySetPreset;/* é¢ç½®ç¹æ¯å¦è®¾ç½®,0-没æ设置,1-设置*/
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_CRUISE_V30, ArraySubType = UnmanagedType.I1)]
public byte[] bySetCruise;/* å·¡èªæ¯å¦è®¾ç½®: 0-没æ设置,1-设置 */
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_TRACK_V30, ArraySubType = UnmanagedType.I1)]
public byte[] bySetTrack;/* 轨迹æ¯å¦è®¾ç½®,0-没æ设置,1-设置*/
}
//éé解ç å¨(äºå°)åæ°é
ç½®
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_DECODERCFG
{
public uint dwSize;
public uint dwBaudRate; //æ³¢ç¹ç(bps)ï¼0ï¼50ï¼1ï¼75ï¼2ï¼110ï¼3ï¼150ï¼4ï¼300ï¼5ï¼600ï¼6ï¼1200ï¼7ï¼2400ï¼8ï¼4800ï¼9ï¼9600ï¼10ï¼19200ï¼ 11ï¼38400ï¼12ï¼57600ï¼13ï¼76800ï¼14ï¼115.2k;
public byte byDataBit; // æ°æ®æå ä½ 0ï¼5ä½ï¼1ï¼6ä½ï¼2ï¼7ä½ï¼3ï¼8ä½;
public byte byStopBit;// åæ¢ä½ 0ï¼1ä½ï¼1ï¼2ä½;
public byte byParity; // æ ¡éª 0ï¼æ æ ¡éªï¼1ï¼å¥æ ¡éªï¼2ï¼å¶æ ¡éª;
public byte byFlowcontrol;// 0ï¼æ ï¼1ï¼è½¯æµæ§,2-硬æµæ§
public ushort wDecoderType;//解ç å¨ç±»å, 0ï¼YouLiï¼1ï¼LiLin-1016ï¼2ï¼LiLin-820ï¼3ï¼Pelco-pï¼4ï¼DM DynaColorï¼5ï¼HD600ï¼6ï¼JC-4116ï¼7ï¼Pelco-d WXï¼8ï¼Pelco-d PICO
public ushort wDecoderAddress;/*解ç å¨å°å:0 - 255*/
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_PRESET, ArraySubType = UnmanagedType.I1)]
public byte[] bySetPreset;/* é¢ç½®ç¹æ¯å¦è®¾ç½®,0-没æ设置,1-设置*/
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_CRUISE, ArraySubType = UnmanagedType.I1)]
public byte[] bySetCruise;/* å·¡èªæ¯å¦è®¾ç½®: 0-没æ设置,1-设置 */
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_TRACK, ArraySubType = UnmanagedType.I1)]
public byte[] bySetTrack;/* 轨迹æ¯å¦è®¾ç½®,0-没æ设置,1-设置*/
}
//pppåæ°é
ç½®(åç»æ)
[StructLayoutAttribute(LayoutKind.Sequential, CharSet = CharSet.Ansi)]
public struct NET_DVR_PPPCFG_V30
{
public NET_DVR_IPADDR struRemoteIP;//è¿ç«¯IPå°å
public NET_DVR_IPADDR struLocalIP;//æ¬å°IPå°å
[MarshalAsAttribute(UnmanagedType.ByValTStr, SizeConst = 16)]
public string sLocalIPMask;//æ¬å°IPå°åæ©ç
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = NAME_LEN, ArraySubType = UnmanagedType.I1)]
public byte[] sUsername;/* ç¨æ·å */
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = PASSWD_LEN, ArraySubType = UnmanagedType.I1)]
public byte[] sPassword;/* å¯ç */
public byte byPPPMode;//PPP模å¼, 0ï¼ä¸»å¨ï¼1ï¼è¢«å¨
public byte byRedial;//æ¯å¦åæ¨ ï¼0-å¦,1-æ¯
public byte byRedialMode;//åæ¨æ¨¡å¼,0-ç±æ¨å
¥è
æå®,1-é¢ç½®åæ¨å·ç
public byte byDataEncrypt;//æ°æ®å å¯,0-å¦,1-æ¯
public uint dwMTU;//MTU
[MarshalAsAttribute(UnmanagedType.ByValTStr, SizeConst = PHONENUMBER_LEN)]
public string sTelephoneNumber;//çµè¯å·ç
}
//pppåæ°é
ç½®(åç»æ)
[StructLayoutAttribute(LayoutKind.Sequential, CharSet = CharSet.Ansi)]
public struct NET_DVR_PPPCFG
{
[MarshalAsAttribute(UnmanagedType.ByValTStr, SizeConst = 16)]
public string sRemoteIP;//è¿ç«¯IPå°å
[MarshalAsAttribute(UnmanagedType.ByValTStr, SizeConst = 16)]
public string sLocalIP;//æ¬å°IPå°å
[MarshalAsAttribute(UnmanagedType.ByValTStr, SizeConst = 16)]
public string sLocalIPMask;//æ¬å°IPå°åæ©ç
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = NAME_LEN, ArraySubType = UnmanagedType.I1)]
public byte[] sUsername;/* ç¨æ·å */
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = PASSWD_LEN, ArraySubType = UnmanagedType.I1)]
public byte[] sPassword;/* å¯ç */
public byte byPPPMode;//PPP模å¼, 0ï¼ä¸»å¨ï¼1ï¼è¢«å¨
public byte byRedial;//æ¯å¦åæ¨ ï¼0-å¦,1-æ¯
public byte byRedialMode;//åæ¨æ¨¡å¼,0-ç±æ¨å
¥è
æå®,1-é¢ç½®åæ¨å·ç
public byte byDataEncrypt;//æ°æ®å å¯,0-å¦,1-æ¯
public uint dwMTU;//MTU
[MarshalAsAttribute(UnmanagedType.ByValTStr, SizeConst = PHONENUMBER_LEN)]
public string sTelephoneNumber;//çµè¯å·ç
}
//RS232串å£åæ°é
ç½®(9000æ©å±)
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_SINGLE_RS232
{
public uint dwBaudRate;/*æ³¢ç¹ç(bps)ï¼0ï¼50ï¼1ï¼75ï¼2ï¼110ï¼3ï¼150ï¼4ï¼300ï¼5ï¼600ï¼6ï¼1200ï¼7ï¼2400ï¼8ï¼4800ï¼9ï¼9600ï¼10ï¼19200ï¼ 11ï¼38400ï¼12ï¼57600ï¼13ï¼76800ï¼14ï¼115.2k;*/
public byte byDataBit;/* æ°æ®æå ä½ 0ï¼5ä½ï¼1ï¼6ä½ï¼2ï¼7ä½ï¼3ï¼8ä½ */
public byte byStopBit;/* åæ¢ä½ 0ï¼1ä½ï¼1ï¼2ä½ */
public byte byParity;/* æ ¡éª 0ï¼æ æ ¡éªï¼1ï¼å¥æ ¡éªï¼2ï¼å¶æ ¡éª */
public byte byFlowcontrol;/* 0ï¼æ ï¼1ï¼è½¯æµæ§,2-硬æµæ§ */
public uint dwWorkMode; /* å·¥ä½æ¨¡å¼ï¼0ï¼232串å£ç¨äºPPPæ¨å·ï¼1ï¼232串å£ç¨äºåæ°æ§å¶ï¼2ï¼éæéé */
}
//RS232串å£åæ°é
ç½®(9000æ©å±)
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_RS232CFG_V30
{
public uint dwSize;
public NET_DVR_SINGLE_RS232 struRs232;
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 84, ArraySubType = UnmanagedType.I1)]
public byte[] byRes;
public NET_DVR_PPPCFG_V30 struPPPConfig;
}
//RS232串å£åæ°é
ç½®
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_RS232CFG
{
public uint dwSize;
public uint dwBaudRate;//æ³¢ç¹ç(bps)ï¼0ï¼50ï¼1ï¼75ï¼2ï¼110ï¼3ï¼150ï¼4ï¼300ï¼5ï¼600ï¼6ï¼1200ï¼7ï¼2400ï¼8ï¼4800ï¼9ï¼9600ï¼10ï¼19200ï¼ 11ï¼38400ï¼12ï¼57600ï¼13ï¼76800ï¼14ï¼115.2k;
public byte byDataBit;// æ°æ®æå ä½ 0ï¼5ä½ï¼1ï¼6ä½ï¼2ï¼7ä½ï¼3ï¼8ä½;
public byte byStopBit;// åæ¢ä½ 0ï¼1ä½ï¼1ï¼2ä½;
public byte byParity;// æ ¡éª 0ï¼æ æ ¡éªï¼1ï¼å¥æ ¡éªï¼2ï¼å¶æ ¡éª;
public byte byFlowcontrol;// 0ï¼æ ï¼1ï¼è½¯æµæ§,2-硬æµæ§
public uint dwWorkMode;// å·¥ä½æ¨¡å¼ï¼0ï¼çªå¸¦ä¼ è¾(232串å£ç¨äºPPPæ¨å·)ï¼1ï¼æ§å¶å°(232串å£ç¨äºåæ°æ§å¶)ï¼2ï¼éæéé
public NET_DVR_PPPCFG struPPPConfig;
}
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_PRESETCHAN_INFO
{
public uint dwEnablePresetChan; /*å¯ç¨é¢ç½®ç¹çéé*/
public uint dwPresetPointNo; /*è°ç¨é¢ç½®ç¹éé对åºçé¢ç½®ç¹åºå·, 0xfffffff表示ä¸è°ç¨é¢ç½®ç¹ã*/
}
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_CRUISECHAN_INFO
{
public uint dwEnableCruiseChan; /*å¯ç¨å·¡èªçéé*/
public uint dwCruiseNo; /*å·¡èªéé对åºçå·¡èªç¼å·, 0xfffffff表示æ æ*/
}
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_PTZTRACKCHAN_INFO
{
public uint dwEnablePtzTrackChan; /*å¯ç¨äºå°è½¨è¿¹çéé*/
public uint dwPtzTrackNo; /*äºå°è½¨è¿¹éé对åºçç¼å·, 0xfffffff表示æ æ*/
}
//æ¥è¦è¾å
¥åæ°é
ç½®(256è·¯NVRæ©å±)
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_ALARMINCFG_V40
{
public uint dwSize;
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = NAME_LEN, ArraySubType = UnmanagedType.I1)]
public byte[] sAlarmInName; /* å称 */
public byte byAlarmType; //æ¥è¦å¨ç±»å,0ï¼å¸¸å¼,1ï¼å¸¸é
public byte byAlarmInHandle; /* æ¯å¦å¤ç 0-ä¸å¤ç 1-å¤ç*/
public byte byChannel; // æ¥è¦è¾å
¥è§¦åæºè½è¯å«éé
public byte byRes1; //ä¿ç
public uint dwHandleType; //å¼å¸¸å¤ç,å¼å¸¸å¤çæ¹å¼ç"æ"ç»æ
/*0x00: æ ååº*/
/*0x01: çè§å¨ä¸è¦å*/
/*0x02: 声é³è¦å*/
/*0x04: ä¸ä¼ ä¸å¿*/
/*0x08: 触åæ¥è¦è¾åº*/
/*0x10: 触åJPRGæå¾å¹¶ä¸ä¼ Email*/
/*0x20: æ 线声å
æ¥è¦å¨èå¨*/
/*0x40: èå¨çµåå°å¾(ç®ååªæPCNVRæ¯æ)*/
/*0x200: æå¾å¹¶ä¸ä¼ FTP*/
public uint dwMaxRelAlarmOutChanNum ; //触åçæ¥è¦è¾åºééæ°ï¼åªè¯»ï¼æ大æ¯ææ°é
public uint dwRelAlarmOutChanNum; //触åçæ¥è¦è¾åºééæ° å®é
æ¯ææ°
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_ALARMOUT_V40, ArraySubType = UnmanagedType.U4)]
public uint[] dwRelAlarmOut; //触åæ¥è¦éé
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_DAYS * MAX_TIMESEGMENT_V30, ArraySubType = UnmanagedType.Struct)]
public NET_DVR_SCHEDTIME[] struAlarmTime;//å¸é²æ¶é´
/*触åçå½åéé*/
public uint dwMaxRecordChanNum; //设å¤æ¯æçæ大å
³èå½åééæ°-åªè¯»
public uint dwCurRecordChanNum; //å½åå®é
å·²é
ç½®çå
³èå½åééæ°
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_CHANNUM_V40, ArraySubType = UnmanagedType.U4)]
public uint[] dwRelRecordChan; /* å®é
触åå½åééï¼æå¼è¡¨ç¤º,éç¨ç´§ååæåï¼ä»ä¸æ 0 - dwCurRecordChanNum -1ææï¼å¦æä¸é´éå°0xffffffff,ååç»æ æ*/
public uint dwMaxEnablePtzCtrlNun; //æ大å¯å¯ç¨çäºå°æ§å¶æ»æ°(åªè¯»)
public uint dwEnablePresetChanNum; //å½åå·²å¯ç¨é¢ç½®ç¹çæ°ç®
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_CHANNUM_V40, ArraySubType = UnmanagedType.Struct)]
public NET_DVR_PRESETCHAN_INFO[] struPresetChanInfo; //å¯ç¨çé¢ç½®ç¹ä¿¡æ¯
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 516, ArraySubType = UnmanagedType.I1)]
public byte[] byRes2; /*ä¿ç*/
public uint dwEnableCruiseChanNum; //å½åå·²å¯ç¨å·¡èªçééæ°ç®
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_CHANNUM_V40, ArraySubType = UnmanagedType.Struct)]
public NET_DVR_CRUISECHAN_INFO[] struCruiseChanInfo; //å¯ç¨å·¡èªåè½ééçä¿¡æ¯
public uint dwEnablePtzTrackChanNum; //å½åå·²å¯ç¨å·¡èªçééæ°ç®
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_CHANNUM_V40, ArraySubType = UnmanagedType.Struct)]
public NET_DVR_PTZTRACKCHAN_INFO[] struPtzTrackInfo; //è°ç¨äºå°è½¨è¿¹çééä¿¡æ¯
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 256, ArraySubType = UnmanagedType.I1)]
public byte[] byRes;
}
//æ¥è¦è¾å
¥åæ°é
ç½®(9000æ©å±)
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_ALARMINCFG_V30
{
public uint dwSize;
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = NAME_LEN, ArraySubType = UnmanagedType.I1)]
public byte[] sAlarmInName;/* å称 */
public byte byAlarmType; //æ¥è¦å¨ç±»å,0ï¼å¸¸å¼,1ï¼å¸¸é
public byte byAlarmInHandle; /* æ¯å¦å¤ç 0-ä¸å¤ç 1-å¤ç*/
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 2, ArraySubType = UnmanagedType.I1)]
public byte[] byRes1;
public NET_DVR_HANDLEEXCEPTION_V30 struAlarmHandleType;/* å¤çæ¹å¼ */
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_DAYS * MAX_TIMESEGMENT_V30, ArraySubType = UnmanagedType.Struct)]
public NET_DVR_SCHEDTIME[] struAlarmTime;//å¸é²æ¶é´
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_CHANNUM_V30, ArraySubType = UnmanagedType.I1)]
public byte[] byRelRecordChan;//æ¥è¦è§¦åçå½è±¡éé,为1表示触å该éé
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_CHANNUM_V30, ArraySubType = UnmanagedType.I1)]
public byte[] byEnablePreset;/* æ¯å¦è°ç¨é¢ç½®ç¹ 0-å¦,1-æ¯*/
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_CHANNUM_V30, ArraySubType = UnmanagedType.I1)]
public byte[] byPresetNo;/* è°ç¨çäºå°é¢ç½®ç¹åºå·,ä¸ä¸ªæ¥è¦è¾å
¥å¯ä»¥è°ç¨å¤ä¸ªééçäºå°é¢ç½®ç¹, 0xff表示ä¸è°ç¨é¢ç½®ç¹ã*/
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 192, ArraySubType = UnmanagedType.I1)]
public byte[] byRes2;/*ä¿ç*/
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_CHANNUM_V30, ArraySubType = UnmanagedType.I1)]
public byte[] byEnableCruise;/* æ¯å¦è°ç¨å·¡èª 0-å¦,1-æ¯*/
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_CHANNUM_V30, ArraySubType = UnmanagedType.I1)]
public byte[] byCruiseNo;/* å·¡èª */
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_CHANNUM_V30, ArraySubType = UnmanagedType.I1)]
public byte[] byEnablePtzTrack;/* æ¯å¦è°ç¨è½¨è¿¹ 0-å¦,1-æ¯*/
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_CHANNUM_V30, ArraySubType = UnmanagedType.I1)]
public byte[] byPTZTrack;/* è°ç¨çäºå°ç轨迹åºå· */
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 16, ArraySubType = UnmanagedType.I1)]
public byte[] byRes3;
}
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct STRUCT_IO_ALARM
{
public uint dwAlarmInputNo; //åçæ¥è¦çæ¥è¦è¾å
¥ééå·ï¼ä¸æ¬¡åªæä¸ä¸ª
public uint dwTrigerAlarmOutNum; /*触åçæ¥è¦è¾åºä¸ªæ°ï¼ç¨äºåé¢è®¡ç®åé¿æ°æ®é¨åä¸ææ触åçæ¥è¦è¾åºééå·ï¼ååè表示ä¸ä¸ª*/
public uint dwTrigerRecordChanNum; /*触åçå½åéé个æ°ï¼ç¨äºåé¢è®¡ç®åé¿æ°æ®é¨åä¸ææ触åçå½åééå·ï¼ååè表示ä¸ä¸ª*/
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 116, ArraySubType = UnmanagedType.I1)]
public byte[] byRes;
}
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct STRUCT_ALARM_CHANNEL
{
public uint dwAlarmChanNum; /*åçæ¥è¦ééæ°æ®ä¸ªæ°ï¼ç¨äºåé¢è®¡ç®åé¿æ°æ®é¨åä¸ææåççæ¥è¦ééå·ï¼ååè表示ä¸ä¸ª*/
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 124, ArraySubType = UnmanagedType.I1)]
public byte[] byRes;
}
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct STRUCT_ALARM_HD
{
public uint dwAlarmHardDiskNum; /*åçæ¥è¦ç硬çæ°æ®é¿åº¦ï¼ç¨äºåé¢è®¡ç®åé¿æ°æ®é¨åä¸ææåçæ¥è¦ç硬çå·ï¼åè表示ä¸ä¸ª*/
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 124, ArraySubType = UnmanagedType.I1)]
public byte[] byRes;
}
[StructLayout(LayoutKind.Explicit)]
public struct UNION_ALARMINFO_FIXED
{
[FieldOffset(0)]
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 128, ArraySubType = UnmanagedType.I1)]
public byte[] byUnionLen;
[FieldOffset(0)]
public STRUCT_IO_ALARM struIOAlarm;// æ¥è¦ç±»ådwAlarmType为0æ¶ææ
[FieldOffset(0)]
public STRUCT_ALARM_CHANNEL struAlarmChannel; // dwAlarmType为2ï¼3ï¼6ï¼9ï¼10æ13æ¶ææ
[FieldOffset(0)]
public STRUCT_ALARM_HD struAlarmHardDisk; // dwAlarmType为1,4,5æ¶ææ
}
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_ALRAM_FIXED_HEADER
{
public uint dwAlarmType; /*0-ä¿¡å·éæ¥è¦,1-硬ç满,2-ä¿¡å·ä¸¢å¤±ï¼3ï¼ç§»å¨ä¾¦æµï¼4ï¼ç¡¬çæªæ ¼å¼å,5-å硬çåºé,6-é®æ¡æ¥è¦ï¼7-å¶å¼ä¸å¹é
, 8-éæ³è®¿é®ï¼9-è§é¢ä¿¡å·å¼å¸¸ï¼10-å½åå¼å¸¸ï¼11-æºè½åºæ¯ååï¼12-éµåå¼å¸¸ï¼13-å端/å½åå辨çä¸å¹é
*/
public NET_DVR_TIME_EX struAlarmTime; //åçæ¥è¦çæ¶é´
public UNION_ALARMINFO_FIXED uStruAlarm;
}
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_ALARMINFO_V40
{
public NET_DVR_ALRAM_FIXED_HEADER struAlarmFixedHeader; //æ¥è¦åºå®é¨å
public IntPtr pAlarmData; //æ¥è¦å¯åé¨åå
容
}
//æ¥è¦è¾å
¥åæ°é
ç½®
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_ALARMINCFG
{
public uint dwSize;
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = NAME_LEN, ArraySubType = UnmanagedType.I1)]
public byte[] sAlarmInName;/* å称 */
public byte byAlarmType;//æ¥è¦å¨ç±»å,0ï¼å¸¸å¼,1ï¼å¸¸é
public byte byAlarmInHandle;/* æ¯å¦å¤ç 0-ä¸å¤ç 1-å¤ç*/
public byte byChannel; // æ¥è¦è¾å
¥è§¦åæºè½è¯å«éé
public byte byRes;
public NET_DVR_HANDLEEXCEPTION struAlarmHandleType;/* å¤çæ¹å¼ */
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_DAYS * MAX_TIMESEGMENT, ArraySubType = UnmanagedType.Struct)]
public NET_DVR_SCHEDTIME[] struAlarmTime;//å¸é²æ¶é´
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_CHANNUM, ArraySubType = UnmanagedType.I1)]
public byte[] byRelRecordChan;//æ¥è¦è§¦åçå½è±¡éé,为1表示触å该éé
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_CHANNUM, ArraySubType = UnmanagedType.I1)]
public byte[] byEnablePreset;/* æ¯å¦è°ç¨é¢ç½®ç¹ 0-å¦,1-æ¯*/
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_CHANNUM, ArraySubType = UnmanagedType.I1)]
public byte[] byPresetNo;/* è°ç¨çäºå°é¢ç½®ç¹åºå·,ä¸ä¸ªæ¥è¦è¾å
¥å¯ä»¥è°ç¨å¤ä¸ªééçäºå°é¢ç½®ç¹, 0xff表示ä¸è°ç¨é¢ç½®ç¹ã*/
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_CHANNUM, ArraySubType = UnmanagedType.I1)]
public byte[] byEnableCruise;/* æ¯å¦è°ç¨å·¡èª 0-å¦,1-æ¯*/
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_CHANNUM, ArraySubType = UnmanagedType.I1)]
public byte[] byCruiseNo;/* å·¡èª */
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_CHANNUM, ArraySubType = UnmanagedType.I1)]
public byte[] byEnablePtzTrack;/* æ¯å¦è°ç¨è½¨è¿¹ 0-å¦,1-æ¯*/
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_CHANNUM, ArraySubType = UnmanagedType.I1)]
public byte[] byPTZTrack;/* è°ç¨çäºå°ç轨迹åºå· */
}
//模ææ¥è¦è¾å
¥åæ°é
ç½®
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_ANALOG_ALARMINCFG
{
public uint dwSize;
public byte byEnableAlarmHandle; //å¤çæ¥è¦è¾å
¥
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 3, ArraySubType = UnmanagedType.I1)]
public byte[] byRes1;
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = NAME_LEN, ArraySubType = UnmanagedType.I1)]
public byte[] byAlarmInName; //模ææ¥è¦è¾å
¥å称
public ushort wAlarmInUpper; //模æè¾å
¥çµåä¸éï¼å®é
å¼ä¹10ï¼èå´0~360
public ushort wAlarmInLower; //模æè¾å
¥çµåä¸éï¼å®é
å¼ä¹10ï¼èå´0~360
public NET_DVR_HANDLEEXCEPTION_V30 struAlarmHandleType; /* å¤çæ¹å¼ */
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_DAYS * MAX_TIMESEGMENT_V30, ArraySubType = UnmanagedType.Struct)]
public NET_DVR_SCHEDTIME[] struAlarmTime;//å¸é²æ¶é´
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_CHANNUM_V30, ArraySubType = UnmanagedType.I1)]
public byte[] byRelRecordChan; //被触åçå½åéé
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 100, ArraySubType = UnmanagedType.I1)]
public byte[] byRes2;
}
//ä¸ä¼ æ¥è¦ä¿¡æ¯(9000æ©å±)
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_ALARMINFO_V30
{
public uint dwAlarmType;/*0-ä¿¡å·éæ¥è¦,1-硬ç满,2-ä¿¡å·ä¸¢å¤±,3ï¼ç§»å¨ä¾¦æµ,4ï¼ç¡¬çæªæ ¼å¼å,5-读å硬çåºé,6-é®æ¡æ¥è¦,7-å¶å¼ä¸å¹é
, 8-éæ³è®¿é®, 0xa-GPSå®ä½ä¿¡æ¯(车载å®å¶)*/
public uint dwAlarmInputNumber;/*æ¥è¦è¾å
¥ç«¯å£*/
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_ALARMOUT_V30, ArraySubType = UnmanagedType.I1)]
public byte[] byAlarmOutputNumber;/*触åçè¾åºç«¯å£ï¼ä¸º1表示对åºè¾åº*/
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_CHANNUM_V30, ArraySubType = UnmanagedType.I1)]
public byte[] byAlarmRelateChannel;/*触åçå½åééï¼ä¸º1表示对åºå½å, dwAlarmRelateChannel[0]对åºç¬¬1个éé*/
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_CHANNUM_V30, ArraySubType = UnmanagedType.I1)]
public byte[] byChannel;/*dwAlarmType为2æ3,6æ¶ï¼è¡¨ç¤ºåªä¸ªééï¼dwChannel[0]对åºç¬¬1个éé*/
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_DISKNUM_V30, ArraySubType = UnmanagedType.I1)]
public byte[] byDiskNumber;/*dwAlarmType为1,4,5æ¶,表示åªä¸ªç¡¬ç, dwDiskNumber[0]对åºç¬¬1个硬ç*/
public void Init()
{
dwAlarmType = 0;
dwAlarmInputNumber = 0;
byAlarmRelateChannel = new byte[MAX_CHANNUM_V30];
byChannel = new byte[MAX_CHANNUM_V30];
byAlarmOutputNumber = new byte[MAX_ALARMOUT_V30];
byDiskNumber = new byte[MAX_DISKNUM_V30];
for (int i = 0; i < MAX_CHANNUM_V30; i++)
{
byAlarmRelateChannel[i] = Convert.ToByte(0);
byChannel[i] = Convert.ToByte(0);
}
for (int i = 0; i < MAX_ALARMOUT_V30; i++)
{
byAlarmOutputNumber[i] = Convert.ToByte(0);
}
for (int i = 0; i < MAX_DISKNUM_V30; i++)
{
byDiskNumber[i] = Convert.ToByte(0);
}
}
public void Reset()
{
dwAlarmType = 0;
dwAlarmInputNumber = 0;
for (int i = 0; i < MAX_CHANNUM_V30; i++)
{
byAlarmRelateChannel[i] = Convert.ToByte(0);
byChannel[i] = Convert.ToByte(0);
}
for (int i = 0; i < MAX_ALARMOUT_V30; i++)
{
byAlarmOutputNumber[i] = Convert.ToByte(0);
}
for (int i = 0; i < MAX_DISKNUM_V30; i++)
{
byDiskNumber[i] = Convert.ToByte(0);
}
}
}
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_ALARM_HOT_SPARE
{
public uint dwSize; //ç»æä½
public uint dwExceptionCase; //æ¥è¦åå 0-ç½ç»å¼å¸¸
public NET_DVR_IPADDR struDeviceIP; //产çå¼å¸¸ç设å¤IPå°å
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 256, ArraySubType = UnmanagedType.I1)]
public byte[] byRes; //ä¿ç
}
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_ALARMINFO
{
public int dwAlarmType;/*0-ä¿¡å·éæ¥è¦,1-硬ç满,2-ä¿¡å·ä¸¢å¤±,3ï¼ç§»å¨ä¾¦æµ,4ï¼ç¡¬çæªæ ¼å¼å,5-读å硬çåºé,6-é®æ¡æ¥è¦,7-å¶å¼ä¸å¹é
, 8-éæ³è®¿é®, 9-串å£ç¶æ, 0xa-GPSå®ä½ä¿¡æ¯(车载å®å¶)*/
public int dwAlarmInputNumber;/*æ¥è¦è¾å
¥ç«¯å£, å½æ¥è¦ç±»å为9æ¶è¯¥åé表示串å£ç¶æ0表示æ£å¸¸ï¼ -1表示é误*/
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_ALARMOUT, ArraySubType = UnmanagedType.U4)]
public int[] dwAlarmOutputNumber;/*触åçè¾åºç«¯å£ï¼åªä¸ä½ä¸º1表示对åºåªä¸ä¸ªè¾åº*/
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_CHANNUM, ArraySubType = UnmanagedType.U4)]
public int[] dwAlarmRelateChannel;/*触åçå½åééï¼åªä¸ä½ä¸º1表示对åºåªä¸è·¯å½å, dwAlarmRelateChannel[0]对åºç¬¬1个éé*/
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_CHANNUM, ArraySubType = UnmanagedType.U4)]
public int[] dwChannel;/*dwAlarmType为2æ3,6æ¶ï¼è¡¨ç¤ºåªä¸ªééï¼dwChannel[0]ä½å¯¹åºç¬¬1个éé*/
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_DISKNUM, ArraySubType = UnmanagedType.U4)]
public int[] dwDiskNumber;/*dwAlarmType为1,4,5æ¶,表示åªä¸ªç¡¬ç, dwDiskNumber[0]ä½å¯¹åºç¬¬1个硬ç*/
public void Init()
{
dwAlarmType = 0;
dwAlarmInputNumber = 0;
dwAlarmOutputNumber = new int[MAX_ALARMOUT];
dwAlarmRelateChannel = new int[MAX_CHANNUM];
dwChannel = new int[MAX_CHANNUM];
dwDiskNumber = new int[MAX_DISKNUM];
for (int i = 0; i < MAX_ALARMOUT; i++)
{
dwAlarmOutputNumber[i] = 0;
}
for (int i = 0; i < MAX_CHANNUM; i++)
{
dwAlarmRelateChannel[i] = 0;
dwChannel[i] = 0;
}
for (int i = 0; i < MAX_DISKNUM; i++)
{
dwDiskNumber[i] = 0;
}
}
public void Reset()
{
dwAlarmType = 0;
dwAlarmInputNumber = 0;
for (int i = 0; i < MAX_ALARMOUT; i++)
{
dwAlarmOutputNumber[i] = 0;
}
for (int i = 0; i < MAX_CHANNUM; i++)
{
dwAlarmRelateChannel[i] = 0;
dwChannel[i] = 0;
}
for (int i = 0; i < MAX_DISKNUM; i++)
{
dwDiskNumber[i] = 0;
}
}
}
//
//IPCæ¥å
¥åæ°é
ç½®
/* IP设å¤ç»æ */
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_IPDEVINFO
{
public uint dwEnable;/* 该IP设å¤æ¯å¦å¯ç¨ */
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = NAME_LEN, ArraySubType = UnmanagedType.I1)]
public byte[] sUserName;/* ç¨æ·å */
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = PASSWD_LEN, ArraySubType = UnmanagedType.I1)]
public byte[] sPassword; /* å¯ç */
public NET_DVR_IPADDR struIP;/* IPå°å */
public ushort wDVRPort;/* 端å£å· */
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 34, ArraySubType = UnmanagedType.I1)]
public byte[] byRes;/* ä¿ç */
public void Init()
{
sUserName = new byte[NAME_LEN];
sPassword = new byte[PASSWD_LEN];
byRes = new byte[34];
}
}
//ipcæ¥å
¥è®¾å¤ä¿¡æ¯æ©å±ï¼æ¯æip设å¤çååæ·»å
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_IPDEVINFO_V31
{
public byte byEnable;//该IP设å¤æ¯å¦ææ
public byte byProType;
public byte byEnableQuickAdd;
public byte byRes1;//ä¿çå段ï¼ç½®0
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = NAME_LEN, ArraySubType = UnmanagedType.I1)]
public byte[] sUserName;//ç¨æ·å
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = PASSWD_LEN, ArraySubType = UnmanagedType.I1)]
public byte[] sPassword;//å¯ç
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_DOMAIN_NAME, ArraySubType = UnmanagedType.I1)]
public byte[] byDomain;//设å¤åå
public NET_DVR_IPADDR struIP;//IPå°å
public ushort wDVRPort;// 端å£å·
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 34, ArraySubType = UnmanagedType.I1)]
public byte[] byRes2;//ä¿çå段ï¼ç½®0
public void Init()
{
sUserName = new byte[NAME_LEN];
sPassword = new byte[PASSWD_LEN];
byDomain = new byte[MAX_DOMAIN_NAME];
byRes2 = new byte[34];
}
}
/* IPééå¹é
åæ° */
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_IPCHANINFO
{
public byte byEnable;/* 该ééæ¯å¦å¨çº¿ */
public byte byIPID;/* IP设å¤ID åå¼1- MAX_IP_DEVICE */
public byte byChannel;/* ééå· */
public byte byIPIDHigh; // IP设å¤IDçé«8ä½
public byte byTransProtocol;//ä¼ è¾å议类å0-TCP/auto(å
·ä½æ设å¤å³å®)ï¼1-UDP 2-å¤æ 3-ä»
TCP 4-auto
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 31, ArraySubType = UnmanagedType.I1)]
public byte[] byRes;//ä¿ç,ç½®0
public void Init()
{
byRes = new byte[31];
}
}
/* IPæ¥å
¥é
ç½®ç»æ */
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_IPPARACFG
{
public uint dwSize;/* ç»æå¤§å° */
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_IP_DEVICE, ArraySubType = UnmanagedType.Struct)]
public NET_DVR_IPDEVINFO[] struIPDevInfo;/* IPè®¾å¤ */
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_ANALOG_CHANNUM, ArraySubType = UnmanagedType.I1)]
public byte[] byAnalogChanEnable; /* 模æééæ¯å¦å¯ç¨ï¼ä»ä½å°é«è¡¨ç¤º1-32ééï¼0表示æ æ 1ææ */
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_IP_CHANNEL, ArraySubType = UnmanagedType.Struct)]
public NET_DVR_IPCHANINFO[] struIPChanInfo;/* IPéé */
public void Init()
{
int i = 0;
struIPDevInfo = new NET_DVR_IPDEVINFO[MAX_IP_DEVICE];
for (i = 0; i < MAX_IP_DEVICE; i++)
{
struIPDevInfo[i].Init();
}
byAnalogChanEnable = new byte[MAX_ANALOG_CHANNUM];
struIPChanInfo = new NET_DVR_IPCHANINFO[MAX_IP_CHANNEL];
for (i = 0; i < MAX_IP_CHANNEL; i++)
{
struIPChanInfo[i].Init();
}
}
}
/* æ©å±IPæ¥å
¥é
ç½®ç»æ */
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_IPPARACFG_V31
{
public uint dwSize;/* ç»æå¤§å° */
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_IP_DEVICE, ArraySubType = UnmanagedType.Struct)]
public NET_DVR_IPDEVINFO_V31[] struIPDevInfo; /* IPè®¾å¤ */
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_ANALOG_CHANNUM, ArraySubType = UnmanagedType.I1)]
public byte[] byAnalogChanEnable; /* 模æééæ¯å¦å¯ç¨ï¼ä»ä½å°é«è¡¨ç¤º1-32ééï¼0表示æ æ 1ææ */
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_IP_CHANNEL, ArraySubType = UnmanagedType.Struct)]
public NET_DVR_IPCHANINFO[] struIPChanInfo;/* IPéé */
public void Init()
{
int i = 0;
struIPDevInfo = new NET_DVR_IPDEVINFO_V31[MAX_IP_DEVICE];
for (i = 0; i < MAX_IP_DEVICE; i++)
{
struIPDevInfo[i].Init();
}
byAnalogChanEnable = new byte[MAX_ANALOG_CHANNUM];
struIPChanInfo = new NET_DVR_IPCHANINFO[MAX_IP_CHANNEL];
for (i = 0; i < MAX_IP_CHANNEL; i++)
{
struIPChanInfo[i].Init();
}
}
}
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_IPSERVER_STREAM
{
public byte byEnable;
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 3, ArraySubType = UnmanagedType.I1)]
public byte[] byRes;
public NET_DVR_IPADDR struIPServer;
public ushort wPort;
public ushort wDvrNameLen;
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = NAME_LEN, ArraySubType = UnmanagedType.I1)]
public byte[] byDVRName;
public ushort wDVRSerialLen;
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 2, ArraySubType = UnmanagedType.U2)]
public ushort[] byRes1;
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = SERIALNO_LEN, ArraySubType = UnmanagedType.I1)]
public byte[] byDVRSerialNumber;
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = NAME_LEN, ArraySubType = UnmanagedType.I1)]
public byte[] byUserName;
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = PASSWD_LEN, ArraySubType = UnmanagedType.I1)]
public byte[] byPassWord;
public byte byChannel;
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 11, ArraySubType = UnmanagedType.I1)]
public byte[] byRes2;
public void Init()
{
byRes = new byte[3];
byDVRName = new byte[NAME_LEN];
byRes1 = new ushort[2];
byDVRSerialNumber = new byte[SERIALNO_LEN];
byUserName = new byte[NAME_LEN];
byPassWord = new byte[PASSWD_LEN];
byRes2 = new byte[11];
}
}
/*æµåªä½æå¡å¨åºæ¬é
ç½®*/
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_STREAM_MEDIA_SERVER_CFG
{
public byte byValid;/*æ¯å¦å¯ç¨æµåªä½æå¡å¨åæµ,0表示æ æï¼é0表示ææ*/
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 3, ArraySubType = UnmanagedType.I1)]
public byte[] byRes1;
public NET_DVR_IPADDR struDevIP;
public ushort wDevPort;/*æµåªä½æå¡å¨ç«¯å£*/
public byte byTransmitType;/*ä¼ è¾å议类å 0-TCPï¼1-UDP*/
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 69, ArraySubType = UnmanagedType.I1)]
public byte[] byRes2;
}
//设å¤ééä¿¡æ¯
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_DEV_CHAN_INFO
{
public NET_DVR_IPADDR struIP; //DVR IPå°å
public ushort wDVRPort; //端å£å·
public byte byChannel; //ééå·
public byte byTransProtocol; //ä¼ è¾å议类å0-TCPï¼1-UDP
public byte byTransMode; //ä¼ è¾ç æµæ¨¡å¼ 0ï¼ä¸»ç æµ 1ï¼åç æµ
public byte byFactoryType; /*å端设å¤å家类å,éè¿æ¥å£è·å*/
public byte byDeviceType; //设å¤ç±»å(è§é¢ç»¼åå¹³å°æºè½æ¿ä½¿ç¨)ï¼1-解ç å¨ï¼æ¤æ¶æ ¹æ®è§é¢ç»¼åå¹³å°è½åéä¸byVcaSupportChanModeå段æ¥å³å®æ¯ä½¿ç¨è§£ç ééè¿æ¯æ¾ç¤ºééï¼ï¼2-ç¼ç å¨
public byte byDispChan;//æ¾ç¤ºééå·,æºè½é
置使ç¨
public byte bySubDispChan;//æ¾ç¤ºééåééå·ï¼æºè½é
ç½®æ¶ä½¿ç¨
public byte byResolution; //; 1-CIF 2-4CIF 3-720P 4-1080P 5-500w大å±æ§å¶å¨ä½¿ç¨ï¼å¤§å±æ§å¶å¨ä¼æ ¹æ®è¯¥åæ°åé
解ç èµæº
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 2, ArraySubType = UnmanagedType.I1)]
public byte[] byRes;
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_DOMAIN_NAME, ArraySubType = UnmanagedType.I1)]
public byte[] byDomain; //设å¤åå
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = NAME_LEN, ArraySubType = UnmanagedType.I1)]
public byte[] sUserName; //çæ§ä¸»æºç»éå¸å·
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = PASSWD_LEN, ArraySubType = UnmanagedType.I1)]
public byte[] sPassword; //çæ§ä¸»æºå¯ç
}
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_PU_STREAM_CFG
{
public uint dwSize;
public NET_DVR_STREAM_MEDIA_SERVER_CFG struStreamMediaSvrCfg;
public NET_DVR_DEV_CHAN_INFO struDevChanInfo;
}
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_DDNS_STREAM_CFG
{
public byte byEnable;
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 3, ArraySubType = UnmanagedType.I1)]
public byte[] byRes1;
public NET_DVR_IPADDR struStreamServer;
public ushort wStreamServerPort;
public byte byStreamServerTransmitType;
public byte byRes2;
public NET_DVR_IPADDR struIPServer;
public ushort wIPServerPort;
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 2, ArraySubType = UnmanagedType.I1)]
public byte[] byRes3;
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = NAME_LEN, ArraySubType = UnmanagedType.I1)]
public byte[] sDVRName;
public ushort wDVRNameLen;
public ushort wDVRSerialLen;
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = SERIALNO_LEN, ArraySubType = UnmanagedType.I1)]
public byte[] sDVRSerialNumber;
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = NAME_LEN, ArraySubType = UnmanagedType.I1)]
public byte[] sUserName;
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = PASSWD_LEN, ArraySubType = UnmanagedType.I1)]
public byte[] sPassWord;
public ushort wDVRPort;
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 2, ArraySubType = UnmanagedType.I1)]
public byte[] byRes4;
public byte byChannel;
public byte byTransProtocol;
public byte byTransMode;
public byte byFactoryType;
public void Init()
{
byRes1 = new byte[3];
byRes3 = new byte[2];
sDVRName = new byte[NAME_LEN];
sDVRSerialNumber = new byte[SERIALNO_LEN];
sUserName = new byte[NAME_LEN];
sPassWord = new byte[PASSWD_LEN];
byRes4 = new byte[2];
}
}
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_PU_STREAM_URL
{
public byte byEnable;
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 240, ArraySubType = UnmanagedType.I1)]
public byte[] strURL;
public byte byTransPortocol;
public Int32 wIPID;
public Int32 byChannel;
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 7, ArraySubType = UnmanagedType.I1)]
public byte[] byRes;
//public void Init()
//{
// strURL = new byte[240];
// byRes = new byte[7];
//}
}
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_HKDDNS_STREAM
{
public byte byEnable;
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 3, ArraySubType = UnmanagedType.I1)]
public byte[] byRes;
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 64, ArraySubType = UnmanagedType.I1)]
public byte[] byDDNSDomain;
public ushort wPort;
public ushort wAliasLen;
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = NAME_LEN, ArraySubType = UnmanagedType.I1)]
public byte[] byAlias;
public ushort wDVRSerialLen;
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 2, ArraySubType = UnmanagedType.I1)]
public byte[] byRes1;
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = SERIALNO_LEN, ArraySubType = UnmanagedType.I1)]
public byte[] byDVRSerialNumber;
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = NAME_LEN, ArraySubType = UnmanagedType.I1)]
public byte[] byUserName;
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = PASSWD_LEN, ArraySubType = UnmanagedType.I1)]
public byte[] byPassWord;
public byte byChannel;
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 11, ArraySubType = UnmanagedType.I1)]
public byte[] byRes2;
public void Init()
{
byRes = new byte[3];
byDDNSDomain = new byte[64];
byAlias = new byte[NAME_LEN];
byRes1 = new byte[2];
byDVRSerialNumber = new byte[SERIALNO_LEN];
byUserName = new byte[NAME_LEN];
byPassWord = new byte[PASSWD_LEN];
byRes2 = new byte[11];
}
}
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_IPCHANINFO_V40
{
public byte byEnable; /* 该ééæ¯å¦å¨çº¿ */
public byte byRes1;
public ushort wIPID; //IP设å¤ID
public uint dwChannel; //ééå·
public byte byTransProtocol; //ä¼ è¾å议类å0-TCPï¼1-UDP
public byte byTransMode; //ä¼ è¾ç æµæ¨¡å¼ 0ï¼ä¸»ç æµ 1ï¼åç æµ
public byte byFactoryType; /*å端设å¤å家类å,éè¿æ¥å£è·å*/
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 241, ArraySubType = UnmanagedType.I1)]
public byte[] byRes;
}
[StructLayout(LayoutKind.Explicit)]
public struct NET_DVR_GET_STREAM_UNION
{
[FieldOffset(0)]
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 492, ArraySubType = UnmanagedType.I1)]
public byte[] byUnion;
}
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_STREAM_MODE
{
public byte byGetStreamType;/*åæµæ¹å¼ï¼0- ç´æ¥ä»è®¾å¤åæµï¼1- ä»æµåªä½åæµï¼2- éè¿IPServerè·å¾IPå°åååæµï¼
* 3- éè¿IPServeræ¾å°è®¾å¤ï¼åéè¿æµåªä½å设å¤çæµï¼ 4- éè¿æµåªä½ç±URLå»åæµï¼
* 5- éè¿hiDDNSååè¿æ¥è®¾å¤ç¶åä»è®¾å¤åæµ */
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 3, ArraySubType = UnmanagedType.I1)]
public byte[] byRes;
public NET_DVR_GET_STREAM_UNION uGetStream;
public void Init()
{
byGetStreamType = 0;
byRes = new byte[3];
//uGetStream.Init();
}
}
/* V40æ©å±IPæ¥å
¥é
ç½®ç»æ */
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_IPPARACFG_V40
{
public uint dwSize;/* ç»æå¤§å° */
public uint dwGroupNum;
public uint dwAChanNum;
public uint dwDChanNum;
public uint dwStartDChan;
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_CHANNUM_V30, ArraySubType = UnmanagedType.I1)]
public byte[] byAnalogChanEnable; /* 模æééæ¯å¦å¯ç¨ï¼ä»ä½å°é«è¡¨ç¤º1-32ééï¼0表示æ æ 1ææ */
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_IP_DEVICE_V40, ArraySubType = UnmanagedType.Struct)]
public NET_DVR_IPDEVINFO_V31[] struIPDevInfo; /* IPè®¾å¤ */
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_CHANNUM_V30, ArraySubType = UnmanagedType.Struct)]
public NET_DVR_STREAM_MODE[] struStreamMode;/* IPéé */
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 20, ArraySubType = UnmanagedType.I1)]
public byte[] byRes2; /* 模æééæ¯å¦å¯ç¨ï¼ä»ä½å°é«è¡¨ç¤º1-32ééï¼0表示æ æ 1ææ */
}
//为CVRæ©å±çæ¥è¦ç±»å
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_ALARMINFO_DEV
{
public uint dwAlarmType; //0-ç¼ç å¨(éé)ä¿¡å·éæ¥è¦ï¼1-ç§æå·äºæåï¼2- NVRæå¡éåºï¼
//3-ç¼ç å¨ç¶æå¼å¸¸ï¼4-ç³»ç»æ¶éå¼å¸¸ï¼5-å½åå·å©ä½å®¹éè¿ä½ï¼
//6-ç¼ç å¨(éé)移å¨ä¾¦æµæ¥è¦ï¼7-ç¼ç å¨(éé)é®æ¡æ¥è¦ã
public NET_DVR_TIME struTime; //æ¥è¦æ¶é´
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 32, ArraySubType = UnmanagedType.I1)]
public byte[] byRes; //ä¿ç
public uint dwNumber; //æ°ç®
public IntPtr pNO; //dwNumber个WORD; æ¯ä¸ªWORD表示ä¸ä¸ªééå·ï¼æè
ç£çå·, æ ææ¶ä¸º0
}
/* æ¥è¦è¾åºåæ° */
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_IPALARMOUTINFO
{
public byte byIPID;/* IP设å¤IDåå¼1- MAX_IP_DEVICE */
public byte byAlarmOut;/* æ¥è¦è¾åºå· */
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 18, ArraySubType = UnmanagedType.I1)]
public byte[] byRes;/* ä¿ç */
public void Init()
{
byRes = new byte[18];
}
}
/* IPæ¥è¦è¾åºé
ç½®ç»æ */
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_IPALARMOUTCFG
{
public uint dwSize; /* ç»æå¤§å° */
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_IP_ALARMOUT, ArraySubType = UnmanagedType.Struct)]
public NET_DVR_IPALARMOUTINFO[] struIPAlarmOutInfo;/* IPæ¥è¦è¾åº */
public void Init()
{
struIPAlarmOutInfo = new NET_DVR_IPALARMOUTINFO[MAX_IP_ALARMOUT];
for (int i = 0; i < MAX_IP_ALARMOUT; i++)
{
struIPAlarmOutInfo[i].Init();
}
}
}
/* IPæ¥è¦è¾åºåæ° */
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_IPALARMOUTINFO_V40
{
public uint dwIPID; /* IP设å¤ID */
public uint dwAlarmOut; /* IP设å¤ID对åºçæ¥è¦è¾åºå· */
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 32, ArraySubType = UnmanagedType.I1)]
public byte[] byRes; /* ä¿ç */
}
/*IPæ¥è¦è¾åº*/
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_IPALARMOUTCFG_V40
{
public uint dwSize; //ç»æä½é¿åº¦
public uint dwCurIPAlarmOutNum;
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_IP_ALARMOUT_V40, ArraySubType = UnmanagedType.Struct)]
public NET_DVR_IPALARMOUTINFO_V40[] struIPAlarmOutInfo;/*IPæ¥è¦è¾åº*/
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 256, ArraySubType = UnmanagedType.I1)]
public byte[] byRes;
}
/* æ¥è¦è¾å
¥åæ° */
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_IPALARMININFO
{
public byte byIPID;/* IP设å¤IDåå¼1- MAX_IP_DEVICE */
public byte byAlarmIn;/* æ¥è¦è¾å
¥å· */
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 18, ArraySubType = UnmanagedType.I1)]
public byte[] byRes;/* ä¿ç */
}
/* IPæ¥è¦è¾å
¥é
ç½®ç»æ */
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_IPALARMINCFG
{
public uint dwSize;/* ç»æå¤§å° */
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_IP_ALARMIN, ArraySubType = UnmanagedType.Struct)]
public NET_DVR_IPALARMININFO[] struIPAlarmInInfo;/* IPæ¥è¦è¾å
¥ */
}
/* IPæ¥è¦è¾å
¥åæ° */
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_IPALARMININFO_V40
{
public uint dwIPID; /* IP设å¤ID */
public uint dwAlarmIn; /* IP设å¤ID对åºçæ¥è¦è¾å
¥å· */
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 32, ArraySubType = UnmanagedType.I1)]
public byte[] byRes; /* ä¿ç */
}
/*IPæ¥è¦è¾å
¥èµæº*/
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_IPALARMINCFG_V40
{
public uint dwSize; //ç»æä½é¿åº¦
public uint dwCurIPAlarmInNum; //å½åæ¥è¦è¾å
¥å£æ°
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_IP_ALARMIN_V40, ArraySubType = UnmanagedType.I1)]
public NET_DVR_IPALARMININFO_V40[] struIPAlarmInInfo;/* IPæ¥è¦è¾å
¥*/
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 256, ArraySubType = UnmanagedType.I1)]
public byte[] byRes;
}
//ipc alarm info
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_IPALARMINFO
{
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_IP_DEVICE, ArraySubType = UnmanagedType.Struct)]
public NET_DVR_IPDEVINFO[] struIPDevInfo; /* IPè®¾å¤ */
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_ANALOG_CHANNUM, ArraySubType = UnmanagedType.I1)]
public byte[] byAnalogChanEnable; /* 模æééæ¯å¦å¯ç¨ï¼0-æªå¯ç¨ 1-å¯ç¨ */
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_IP_CHANNEL, ArraySubType = UnmanagedType.Struct)]
public NET_DVR_IPCHANINFO[] struIPChanInfo;/* IPéé */
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_IP_ALARMIN, ArraySubType = UnmanagedType.Struct)]
public NET_DVR_IPALARMININFO[] struIPAlarmInInfo;/* IPæ¥è¦è¾å
¥ */
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_IP_ALARMOUT, ArraySubType = UnmanagedType.Struct)]
public NET_DVR_IPALARMOUTINFO[] struIPAlarmOutInfo;/* IPæ¥è¦è¾åº */
}
//ipcé
ç½®æ¹åæ¥è¦ä¿¡æ¯æ©å± 9000_1.1
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_IPALARMINFO_V31
{
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_IP_DEVICE, ArraySubType = UnmanagedType.Struct)]
public NET_DVR_IPDEVINFO_V31[] struIPDevInfo; /* IPè®¾å¤ */
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_ANALOG_CHANNUM, ArraySubType = UnmanagedType.I1)]
public byte[] byAnalogChanEnable;/* 模æééæ¯å¦å¯ç¨ï¼0-æªå¯ç¨ 1-å¯ç¨ */
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_IP_CHANNEL, ArraySubType = UnmanagedType.Struct)]
public NET_DVR_IPCHANINFO[] struIPChanInfo;/* IPéé */
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_IP_ALARMIN, ArraySubType = UnmanagedType.Struct)]
public NET_DVR_IPALARMININFO[] struIPAlarmInInfo; /* IPæ¥è¦è¾å
¥ */
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_IP_ALARMOUT, ArraySubType = UnmanagedType.Struct)]
public NET_DVR_IPALARMOUTINFO[] struIPAlarmOutInfo;/* IPæ¥è¦è¾åº */
}
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_IPALARMINFO_V40
{
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_IP_DEVICE_V40, ArraySubType = UnmanagedType.Struct)]
public NET_DVR_IPDEVINFO_V31[] struIPDevInfo; // IP设å¤
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_CHANNUM_V30, ArraySubType = UnmanagedType.I1)]
public byte[] byAnalogChanEnable; /* 模æééæ¯å¦å¯ç¨ï¼0-æªå¯ç¨ 1-å¯ç¨ */
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_CHANNUM_V30, ArraySubType = UnmanagedType.Struct)]
public NET_DVR_IPCHANINFO[] struIPChanInfo; /* IPéé */
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_IP_ALARMIN, ArraySubType = UnmanagedType.Struct)]
public NET_DVR_IPALARMININFO[] struIPAlarmInInfo; /* IPæ¥è¦è¾å
¥ */
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_IP_ALARMOUT, ArraySubType = UnmanagedType.Struct)]
public NET_DVR_IPALARMOUTINFO[] struIPAlarmOutInfo; /* IPæ¥è¦è¾åº */
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 20, ArraySubType = UnmanagedType.I1)]
public byte[] byRes; // ä¿çåè
}
public enum HD_STAT
{
HD_STAT_OK = 0,/* æ£å¸¸ */
HD_STAT_UNFORMATTED = 1,/* æªæ ¼å¼å */
HD_STAT_ERROR = 2,/* é误 */
HD_STAT_SMART_FAILED = 3,/* SMARTç¶æ */
HD_STAT_MISMATCH = 4,/* ä¸å¹é
*/
HD_STAT_IDLE = 5, /* ä¼ç */
NET_HD_STAT_OFFLINE = 6,/*ç½ç»çå¤äºæªè¿æ¥ç¶æ */
HD_RIADVD_EXPAND = 7, /* èæç£çå¯æ©å®¹ */
HD_STAT_REPARING = 10, /* 硬çæ£å¨ä¿®å¤(9000 2.0) */
HD_STAT_FORMATING = 11, /* 硬çæ£å¨æ ¼å¼å(9000 2.0) */
}
//æ¬å°ç¡¬çä¿¡æ¯é
ç½®
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_SINGLE_HD
{
public uint dwHDNo;/*硬çå·, åå¼0~MAX_DISKNUM_V30-1*/
public uint dwCapacity;/*硬ç容é(ä¸å¯è®¾ç½®)*/
public uint dwFreeSpace;/*硬çå©ä½ç©ºé´(ä¸å¯è®¾ç½®)*/
public uint dwHdStatus;/*硬çç¶æ(ä¸å¯è®¾ç½®) HD_STAT*/
public byte byHDAttr;/*0-é»è®¤, 1-åä½; 2-åªè¯»*/
public byte byHDType;/*0-æ¬å°ç¡¬ç,1-ESATA硬ç,2-NAS硬ç*/
public byte byDiskDriver; // å¼ ä»£è¡¨å
¶ASCIIå符
public byte byRes1;
public uint dwHdGroup; /*å±äºåªä¸ªçç» 1-MAX_HD_GROUP*/
public byte byRecycling; // æ¯å¦å¾ªç¯å©ç¨ 0ï¼ä¸å¾ªç¯å©ç¨ï¼1ï¼å¾ªç¯å©ç¨
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 3, ArraySubType = UnmanagedType.I1)]
public byte[] byRes2;
public uint dwStorageType; //æä½è¡¨ç¤º 0-ä¸æ¯æ é0-æ¯æ
// dwStorageType & 0x1 表示æ¯å¦æ¯æ®éå½åä¸ç¨åå¨ç
// dwStorageType & 0x2 表示æ¯å¦æ¯æ½å¸§å½åä¸ç¨åå¨ç
// dwStorageType & 0x4 表示æ¯å¦æ¯å¾çå½åä¸ç¨åå¨ç
public uint dwPictureCapacity; //硬çå¾ç容é(ä¸å¯è®¾ç½®)ï¼åä½:MB
public uint dwFreePictureSpace; //å©ä½å¾ç空é´(ä¸å¯è®¾ç½®)ï¼åä½:MB
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 104, ArraySubType = UnmanagedType.I1)]
public byte[] byRes3;
}
[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;//硬çç¸å
³æä½é½éè¦éå¯æè½çæï¼
}
//æ¬å°çç»ä¿¡æ¯é
ç½®æ©å±
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_SINGLE_HDGROUP_V40
{
public uint dwHDGroupNo; /*çç»å·(ä¸å¯è®¾ç½®) 1-MAX_HD_GROUP*/
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_CHANNUM_V40, ArraySubType = UnmanagedType.U4)]
public uint[] dwRelRecordChan; //触åçå½åééï¼æå¼è¡¨ç¤ºï¼éå°0xffffffffæ¶åç»è§ä¸ºæ æ
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 64, ArraySubType = UnmanagedType.I1)]
public byte[] byRes; /* ä¿ç */
}
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_HDGROUP_CFG_V40
{
public uint dwSize; //ç»æä½å¤§å°
public uint dwMaxHDGroupNum; //设å¤æ¯æçæ大çç»æ°-åªè¯»
public uint dwCurHDGroupNum; /*å½åé
ç½®ççç»æ°*/
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_HD_GROUP, ArraySubType = UnmanagedType.Struct)]
public NET_DVR_SINGLE_HDGROUP_V40[] struHDGroupAttr; //硬çç¸å
³æä½é½éè¦éå¯æè½çæï¼
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 128, ArraySubType = UnmanagedType.I1)]
public byte[] byRes; //ä¿ç
}
//æ¬å°çç»ä¿¡æ¯é
ç½®
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_SINGLE_HDGROUP
{
public uint dwHDGroupNo;/*çç»å·(ä¸å¯è®¾ç½®) 1-MAX_HD_GROUP*/
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 64, ArraySubType = UnmanagedType.I1)]
public byte[] byHDGroupChans;/*çç»å¯¹åºçå½åéé, 0-表示该ééä¸å½è±¡å°è¯¥çç»ï¼1-表示å½è±¡å°è¯¥çç»*/
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 8, ArraySubType = UnmanagedType.I1)]
public byte[] byRes;
}
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_HDGROUP_CFG
{
public uint dwSize;
public uint dwHDGroupCount;/*çç»æ»æ°(ä¸å¯è®¾ç½®)*/
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_HD_GROUP, ArraySubType = UnmanagedType.Struct)]
public NET_DVR_SINGLE_HDGROUP[] struHDGroupAttr;//硬çç¸å
³æä½é½éè¦éå¯æè½çæ
}
//é
置缩æ¾åæ°çç»æ
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_SCALECFG
{
public uint dwSize;
public uint dwMajorScale;/* 主æ¾ç¤º 0-ä¸ç¼©æ¾ï¼1-缩æ¾*/
public uint dwMinorScale;/* è¾
æ¾ç¤º 0-ä¸ç¼©æ¾ï¼1-缩æ¾*/
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 2, ArraySubType = UnmanagedType.U4)]
public uint[] dwRes;
}
//DVRæ¥è¦è¾åº(9000æ©å±)
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_ALARMOUTCFG_V30
{
public uint dwSize;
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = NAME_LEN, ArraySubType = UnmanagedType.I1)]
public byte[] sAlarmOutName;/* å称 */
public uint dwAlarmOutDelay;/* è¾åºä¿ææ¶é´(-1为æ éï¼æå¨å
³é) */
//0-5ç§,1-10ç§,2-30ç§,3-1åé,4-2åé,5-5åé,6-10åé,7-æå¨
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_DAYS * MAX_TIMESEGMENT_V30, ArraySubType = UnmanagedType.Struct)]
public NET_DVR_SCHEDTIME[] struAlarmOutTime;/* æ¥è¦è¾åºæ¿æ´»æ¶é´æ®µ */
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 16, ArraySubType = UnmanagedType.I1)]
public byte[] byRes;
}
//DVRæ¥è¦è¾åº
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_ALARMOUTCFG
{
public uint dwSize;
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = NAME_LEN, ArraySubType = UnmanagedType.I1)]
public byte[] sAlarmOutName;/* å称 */
public uint dwAlarmOutDelay;/* è¾åºä¿ææ¶é´(-1为æ éï¼æå¨å
³é) */
//0-5ç§,1-10ç§,2-30ç§,3-1åé,4-2åé,5-5åé,6-10åé,7-æå¨
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_DAYS * MAX_TIMESEGMENT, ArraySubType = UnmanagedType.Struct)]
public NET_DVR_SCHEDTIME[] struAlarmOutTime;/* æ¥è¦è¾åºæ¿æ´»æ¶é´æ®µ */
}
//DVRæ¬å°é¢è§åæ°(9000æ©å±)
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_PREVIEWCFG_V30
{
public uint dwSize;
public byte byPreviewNumber;//é¢è§æ°ç®,0-1ç»é¢,1-4ç»é¢,2-9ç»é¢,3-16ç»é¢,0xff:æ大ç»é¢
public byte byEnableAudio;//æ¯å¦å£°é³é¢è§,0-ä¸é¢è§,1-é¢è§
public ushort wSwitchTime;//åæ¢æ¶é´,0-ä¸åæ¢,1-5s,2-10s,3-20s,4-30s,5-60s,6-120s,7-300s
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_PREVIEW_MODE * MAX_WINDOW_V30, ArraySubType = UnmanagedType.I1)]
public byte[] bySwitchSeq;//åæ¢é¡ºåº,å¦ælSwitchSeq[i]为 0xff表示ä¸ç¨
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 24, ArraySubType = UnmanagedType.I1)]
public byte[] byRes;
}
//DVRæ¬å°é¢è§åæ°
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_PREVIEWCFG
{
public uint dwSize;
public byte byPreviewNumber;//é¢è§æ°ç®,0-1ç»é¢,1-4ç»é¢,2-9ç»é¢,3-16ç»é¢,0xff:æ大ç»é¢
public byte byEnableAudio;//æ¯å¦å£°é³é¢è§,0-ä¸é¢è§,1-é¢è§
public ushort wSwitchTime;//åæ¢æ¶é´,0-ä¸åæ¢,1-5s,2-10s,3-20s,4-30s,5-60s,6-120s,7-300s
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_WINDOW, ArraySubType = UnmanagedType.I1)]
public byte[] bySwitchSeq;//åæ¢é¡ºåº,å¦ælSwitchSeq[i]为 0xff表示ä¸ç¨
}
//DVRè§é¢è¾åº
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_VGAPARA
{
public ushort wResolution;/* å辨ç */
public ushort wFreq;/* å·æ°é¢ç */
public uint dwBrightness;/* 亮度 */
}
//MATRIXè¾åºåæ°ç»æ
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_MATRIXPARA_V30
{
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_ANALOG_CHANNUM, ArraySubType = UnmanagedType.U2)]
public ushort[] wOrder;/* é¢è§é¡ºåº, 0xff表示ç¸åºççªå£ä¸é¢è§ */
public ushort wSwitchTime;// é¢è§åæ¢æ¶é´
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 14, ArraySubType = UnmanagedType.I1)]
public byte[] res;
}
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_MATRIXPARA
{
public ushort wDisplayLogo;/* æ¾ç¤ºè§é¢ééå· */
public ushort wDisplayOsd;/* æ¾ç¤ºæ¶é´ */
}
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_VOOUT
{
public byte byVideoFormat;/* è¾åºå¶å¼,0-PAL,1-NTSC */
public byte byMenuAlphaValue;/* èåä¸èæ¯å¾è±¡å¯¹æ¯åº¦ */
public ushort wScreenSaveTime;/* å±å¹ä¿æ¤æ¶é´ 0-ä»ä¸,1-1åé,2-2åé,3-5åé,4-10åé,5-20åé,6-30åé */
public ushort wVOffset;/* è§é¢è¾åºå移 */
public ushort wBrightness;/* è§é¢è¾åºäº®åº¦ */
public byte byStartMode;/* å¯å¨åè§é¢è¾åºæ¨¡å¼(0:èå,1:é¢è§)*/
public byte byEnableScaler;/* æ¯å¦å¯å¨ç¼©æ¾ (0-ä¸å¯å¨, 1-å¯å¨)*/
}
//DVRè§é¢è¾åº(9000æ©å±)
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_VIDEOOUT_V30
{
public uint dwSize;
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_VIDEOOUT_V30, ArraySubType = UnmanagedType.Struct)]
public NET_DVR_VOOUT[] struVOOut;
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_VGA_V30, ArraySubType = UnmanagedType.Struct)]
public NET_DVR_VGAPARA[] struVGAPara;/* VGAåæ° */
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_MATRIXOUT, ArraySubType = UnmanagedType.Struct)]
public NET_DVR_MATRIXPARA_V30[] struMatrixPara;/* MATRIXåæ° */
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 16, ArraySubType = UnmanagedType.I1)]
public byte[] byRes;
}
//DVRè§é¢è¾åº
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_VIDEOOUT
{
public uint dwSize;
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_VIDEOOUT, ArraySubType = UnmanagedType.Struct)]
public NET_DVR_VOOUT[] struVOOut;
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_VGA, ArraySubType = UnmanagedType.Struct)]
public NET_DVR_VGAPARA[] struVGAPara; /* VGAåæ° */
public NET_DVR_MATRIXPARA struMatrixPara;/* MATRIXåæ° */
}
//åç¨æ·åæ°(åç»æ)(æ©å±)
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_USER_INFO_V40
{
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = NAME_LEN, ArraySubType = UnmanagedType.I1)]
public byte[] sUserName; /* ç¨æ·ååªè½ç¨16åè */
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = PASSWD_LEN, ArraySubType = UnmanagedType.I1)]
public byte[] sPassword; /* å¯ç */
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_RIGHT, ArraySubType = UnmanagedType.I1)]
public byte[] byLocalRight; /* æ¬å°æé */
/*æ°ç»0: æ¬å°æ§å¶äºå°*/
/*æ°ç»1: æ¬å°æå¨å½è±¡*/
/*æ°ç»2: æ¬å°åæ¾*/
/*æ°ç»3: æ¬å°è®¾ç½®åæ°*/
/*æ°ç»4: æ¬å°æ¥çç¶æãæ¥å¿*/
/*æ°ç»5: æ¬å°é«çº§æä½(å级ï¼æ ¼å¼åï¼éå¯ï¼å
³æº)*/
/*æ°ç»6: æ¬å°æ¥çåæ° */
/*æ°ç»7: æ¬å°ç®¡ç模æåIP camera */
/*æ°ç»8: æ¬å°å¤ä»½ */
/*æ°ç»9: æ¬å°å
³æº/éå¯ */
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_RIGHT, ArraySubType = UnmanagedType.I1)]
public byte[] byRemoteRight;/* è¿ç¨æé */
/*æ°ç»0: è¿ç¨æ§å¶äºå°*/
/*æ°ç»1: è¿ç¨æå¨å½è±¡*/
/*æ°ç»2: è¿ç¨åæ¾ */
/*æ°ç»3: è¿ç¨è®¾ç½®åæ°*/
/*æ°ç»4: è¿ç¨æ¥çç¶æãæ¥å¿*/
/*æ°ç»5: è¿ç¨é«çº§æä½(å级ï¼æ ¼å¼åï¼éå¯ï¼å
³æº)*/
/*æ°ç»6: è¿ç¨åèµ·è¯é³å¯¹è®²*/
/*æ°ç»7: è¿ç¨é¢è§*/
/*æ°ç»8: è¿ç¨è¯·æ±æ¥è¦ä¸ä¼ ãæ¥è¦è¾åº*/
/*æ°ç»9: è¿ç¨æ§å¶ï¼æ¬å°è¾åº*/
/*æ°ç»10: è¿ç¨æ§å¶ä¸²å£*/
/*æ°ç»11: è¿ç¨æ¥çåæ° */
/*æ°ç»12: è¿ç¨ç®¡ç模æåIP camera */
/*æ°ç»13: è¿ç¨å
³æº/éå¯ */
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_CHANNUM_V40, ArraySubType = UnmanagedType.U4)]
public uint[] dwNetPreviewRight; /* è¿ç¨å¯ä»¥é¢è§çééï¼ä»åå¾å顺åºæåï¼éå°0xffffffffåç»å为æ æ*/
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_CHANNUM_V40, ArraySubType = UnmanagedType.U4)]
public uint[] dwLocalRecordRight; /* æ¬å°å¯ä»¥å½åçééï¼ä»åå¾å顺åºæåï¼éå°0xffffffffåç»å为æ æ*/
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_CHANNUM_V40, ArraySubType = UnmanagedType.U4)]
public uint[] dwNetRecordRight; /* è¿ç¨å¯ä»¥å½åçééï¼ä»åå¾å顺åºæåï¼éå°0xffffffffåç»å为æ æ*/
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_CHANNUM_V40, ArraySubType = UnmanagedType.U4)]
public uint[] dwLocalPlaybackRight; /* æ¬å°å¯ä»¥åæ¾çééï¼ä»åå¾å顺åºæåï¼éå°0xffffffffåç»å为æ æ*/
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_CHANNUM_V40, ArraySubType = UnmanagedType.U4)]
public uint[] dwNetPlaybackRight; /* è¿ç¨å¯ä»¥åæ¾çééï¼ä»åå¾å顺åºæåï¼éå°0xffffffffåç»å为æ æ*/
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_CHANNUM_V40, ArraySubType = UnmanagedType.U4)]
public uint[] dwLocalPTZRight; /* æ¬å°å¯ä»¥PTZçééï¼ä»åå¾å顺åºæåï¼éå°0xffffffffåç»å为æ æ*/
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_CHANNUM_V40, ArraySubType = UnmanagedType.U4)]
public uint[] dwNetPTZRight; /* è¿ç¨å¯ä»¥PTZçééï¼ä»åå¾å顺åºæåï¼éå°0xffffffffåç»å为æ æ*/
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_CHANNUM_V40, ArraySubType = UnmanagedType.U4)]
public uint[] dwLocalBackupRight; /* æ¬å°å¤ä»½æéééï¼ä»åå¾å顺åºæåï¼éå°0xffffffffåç»å为æ æ*/
public NET_DVR_IPADDR struUserIP; /* ç¨æ·IPå°å(为0æ¶è¡¨ç¤ºå
许任ä½å°å) */
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MACADDR_LEN, ArraySubType = UnmanagedType.I1)]
public byte[] byMACAddr; /* ç©çå°å */
public byte byPriority; /* ä¼å
级ï¼0xff-æ ï¼0--ä½ï¼1--ä¸ï¼2--é« */
/* æ â¦â¦è¡¨ç¤ºä¸æ¯æä¼å
级ç设置
ä½â¦â¦é»è®¤æé:å
æ¬æ¬å°åè¿ç¨åæ¾,æ¬å°åè¿ç¨æ¥çæ¥å¿åç¶æ,æ¬å°åè¿ç¨å
³æº/éå¯
ä¸â¦â¦å
æ¬æ¬å°åè¿ç¨æ§å¶äºå°,æ¬å°åè¿ç¨æå¨å½å,æ¬å°åè¿ç¨åæ¾,è¯é³å¯¹è®²åè¿ç¨é¢è§ãæ¬å°å¤ä»½,æ¬å°/è¿ç¨å
³æº/éå¯
é«â¦â¦ç®¡çå */
public byte byAlarmOnRight; // æ¥è¦è¾å
¥å£å¸é²æé 1-ææéï¼0-æ æé
public byte byAlarmOffRight; // æ¥è¦è¾å
¥å£æ¤é²æé 1-ææéï¼0-æ æé
public byte byBypassRight; // æ¥è¦è¾å
¥å£æè·¯æé 1-ææéï¼0-æ æé
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 118, ArraySubType = UnmanagedType.I1)]
public byte[] byRes;
}
//åç¨æ·åæ°(åç»æ)(9000æ©å±)
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_USER_INFO_V30
{
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = NAME_LEN, ArraySubType = UnmanagedType.I1)]
public byte[] sUserName;/* ç¨æ·å */
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = PASSWD_LEN, ArraySubType = UnmanagedType.I1)]
public byte[] sPassword;/* å¯ç */
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_RIGHT, ArraySubType = UnmanagedType.I1)]
public byte[] byLocalRight;/* æ¬å°æé */
/*æ°ç»0: æ¬å°æ§å¶äºå°*/
/*æ°ç»1: æ¬å°æå¨å½è±¡*/
/*æ°ç»2: æ¬å°åæ¾*/
/*æ°ç»3: æ¬å°è®¾ç½®åæ°*/
/*æ°ç»4: æ¬å°æ¥çç¶æãæ¥å¿*/
/*æ°ç»5: æ¬å°é«çº§æä½(å级ï¼æ ¼å¼åï¼éå¯ï¼å
³æº)*/
/*æ°ç»6: æ¬å°æ¥çåæ° */
/*æ°ç»7: æ¬å°ç®¡ç模æåIP camera */
/*æ°ç»8: æ¬å°å¤ä»½ */
/*æ°ç»9: æ¬å°å
³æº/éå¯ */
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_RIGHT, ArraySubType = UnmanagedType.I1)]
public byte[] byRemoteRight;/* è¿ç¨æé */
/*æ°ç»0: è¿ç¨æ§å¶äºå°*/
/*æ°ç»1: è¿ç¨æå¨å½è±¡*/
/*æ°ç»2: è¿ç¨åæ¾ */
/*æ°ç»3: è¿ç¨è®¾ç½®åæ°*/
/*æ°ç»4: è¿ç¨æ¥çç¶æãæ¥å¿*/
/*æ°ç»5: è¿ç¨é«çº§æä½(å级ï¼æ ¼å¼åï¼éå¯ï¼å
³æº)*/
/*æ°ç»6: è¿ç¨åèµ·è¯é³å¯¹è®²*/
/*æ°ç»7: è¿ç¨é¢è§*/
/*æ°ç»8: è¿ç¨è¯·æ±æ¥è¦ä¸ä¼ ãæ¥è¦è¾åº*/
/*æ°ç»9: è¿ç¨æ§å¶ï¼æ¬å°è¾åº*/
/*æ°ç»10: è¿ç¨æ§å¶ä¸²å£*/
/*æ°ç»11: è¿ç¨æ¥çåæ° */
/*æ°ç»12: è¿ç¨ç®¡ç模æåIP camera */
/*æ°ç»13: è¿ç¨å
³æº/éå¯ */
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_CHANNUM_V30, ArraySubType = UnmanagedType.I1)]
public byte[] byNetPreviewRight;/* è¿ç¨å¯ä»¥é¢è§çéé 0-ææéï¼1-æ æé*/
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_CHANNUM_V30, ArraySubType = UnmanagedType.I1)]
public byte[] byLocalPlaybackRight;/* æ¬å°å¯ä»¥åæ¾çéé 0-ææéï¼1-æ æé*/
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_CHANNUM_V30, ArraySubType = UnmanagedType.I1)]
public byte[] byNetPlaybackRight;/* è¿ç¨å¯ä»¥åæ¾çéé 0-ææéï¼1-æ æé*/
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_CHANNUM_V30, ArraySubType = UnmanagedType.I1)]
public byte[] byLocalRecordRight;/* æ¬å°å¯ä»¥å½åçéé 0-ææéï¼1-æ æé*/
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_CHANNUM_V30, ArraySubType = UnmanagedType.I1)]
public byte[] byNetRecordRight;/* è¿ç¨å¯ä»¥å½åçéé 0-ææéï¼1-æ æé*/
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_CHANNUM_V30, ArraySubType = UnmanagedType.I1)]
public byte[] byLocalPTZRight;/* æ¬å°å¯ä»¥PTZçéé 0-ææéï¼1-æ æé*/
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_CHANNUM_V30, ArraySubType = UnmanagedType.I1)]
public byte[] byNetPTZRight;/* è¿ç¨å¯ä»¥PTZçéé 0-ææéï¼1-æ æé*/
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_CHANNUM_V30, ArraySubType = UnmanagedType.I1)]
public byte[] byLocalBackupRight;/* æ¬å°å¤ä»½æééé 0-ææéï¼1-æ æé*/
public NET_DVR_IPADDR struUserIP;/* ç¨æ·IPå°å(为0æ¶è¡¨ç¤ºå
许任ä½å°å) */
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MACADDR_LEN, ArraySubType = UnmanagedType.I1)]
public byte[] byMACAddr;/* ç©çå°å */
public byte byPriority;/* ä¼å
级ï¼0xff-æ ï¼0--ä½ï¼1--ä¸ï¼2--é« */
/*
æ â¦â¦è¡¨ç¤ºä¸æ¯æä¼å
级ç设置
ä½â¦â¦é»è®¤æé:å
æ¬æ¬å°åè¿ç¨åæ¾,æ¬å°åè¿ç¨æ¥çæ¥å¿åç¶æ,æ¬å°åè¿ç¨å
³æº/éå¯
ä¸â¦â¦å
æ¬æ¬å°åè¿ç¨æ§å¶äºå°,æ¬å°åè¿ç¨æå¨å½å,æ¬å°åè¿ç¨åæ¾,è¯é³å¯¹è®²åè¿ç¨é¢è§
æ¬å°å¤ä»½,æ¬å°/è¿ç¨å
³æº/éå¯
é«â¦â¦ç®¡çå
*/
public byte byAlarmOnRight; // æ¥è¦è¾å
¥å£å¸é²æé
public byte byAlarmOffRight; // æ¥è¦è¾å
¥å£æ¤é²æé
public byte byBypassRight; // æ¥è¦è¾å
¥å£æè·¯æé
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 14, ArraySubType = UnmanagedType.I1)]
public byte[] byRes;
}
//åç¨æ·åæ°(SDK_V15æ©å±)(åç»æ)
[StructLayoutAttribute(LayoutKind.Sequential, CharSet = CharSet.Ansi)]
public struct NET_DVR_USER_INFO_EX
{
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = NAME_LEN, ArraySubType = UnmanagedType.I1)]
public byte[] sUserName;/* ç¨æ·å */
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = PASSWD_LEN, ArraySubType = UnmanagedType.I1)]
public byte[] sPassword;/* å¯ç */
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_RIGHT, ArraySubType = UnmanagedType.U4)]
public uint[] dwLocalRight;/* æé */
/*æ°ç»0: æ¬å°æ§å¶äºå°*/
/*æ°ç»1: æ¬å°æå¨å½è±¡*/
/*æ°ç»2: æ¬å°åæ¾*/
/*æ°ç»3: æ¬å°è®¾ç½®åæ°*/
/*æ°ç»4: æ¬å°æ¥çç¶æãæ¥å¿*/
/*æ°ç»5: æ¬å°é«çº§æä½(å级ï¼æ ¼å¼åï¼éå¯ï¼å
³æº)*/
public uint dwLocalPlaybackRight;/* æ¬å°å¯ä»¥åæ¾çéé bit0 -- channel 1*/
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_RIGHT, ArraySubType = UnmanagedType.U4)]
public uint[] dwRemoteRight;/* æé */
/*æ°ç»0: è¿ç¨æ§å¶äºå°*/
/*æ°ç»1: è¿ç¨æå¨å½è±¡*/
/*æ°ç»2: è¿ç¨åæ¾ */
/*æ°ç»3: è¿ç¨è®¾ç½®åæ°*/
/*æ°ç»4: è¿ç¨æ¥çç¶æãæ¥å¿*/
/*æ°ç»5: è¿ç¨é«çº§æä½(å级ï¼æ ¼å¼åï¼éå¯ï¼å
³æº)*/
/*æ°ç»6: è¿ç¨åèµ·è¯é³å¯¹è®²*/
/*æ°ç»7: è¿ç¨é¢è§*/
/*æ°ç»8: è¿ç¨è¯·æ±æ¥è¦ä¸ä¼ ãæ¥è¦è¾åº*/
/*æ°ç»9: è¿ç¨æ§å¶ï¼æ¬å°è¾åº*/
/*æ°ç»10: è¿ç¨æ§å¶ä¸²å£*/
public uint dwNetPreviewRight;/* è¿ç¨å¯ä»¥é¢è§çéé bit0 -- channel 1*/
public uint dwNetPlaybackRight;/* è¿ç¨å¯ä»¥åæ¾çéé bit0 -- channel 1*/
[MarshalAsAttribute(UnmanagedType.ByValTStr, SizeConst = 16)]
public string sUserIP;/* ç¨æ·IPå°å(为0æ¶è¡¨ç¤ºå
许任ä½å°å) */
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MACADDR_LEN, ArraySubType = UnmanagedType.I1)]
public byte[] byMACAddr;/* ç©çå°å */
}
//åç¨æ·åæ°(åç»æ)
[StructLayoutAttribute(LayoutKind.Sequential, CharSet = CharSet.Ansi)]
public struct NET_DVR_USER_INFO
{
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = NAME_LEN, ArraySubType = UnmanagedType.I1)]
public byte[] sUserName;/* ç¨æ·å */
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = PASSWD_LEN, ArraySubType = UnmanagedType.I1)]
public byte[] sPassword;/* å¯ç */
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_RIGHT, ArraySubType = UnmanagedType.U4)]
public uint[] dwLocalRight;/* æé */
/*æ°ç»0: æ¬å°æ§å¶äºå°*/
/*æ°ç»1: æ¬å°æå¨å½è±¡*/
/*æ°ç»2: æ¬å°åæ¾*/
/*æ°ç»3: æ¬å°è®¾ç½®åæ°*/
/*æ°ç»4: æ¬å°æ¥çç¶æãæ¥å¿*/
/*æ°ç»5: æ¬å°é«çº§æä½(å级ï¼æ ¼å¼åï¼éå¯ï¼å
³æº)*/
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_RIGHT, ArraySubType = UnmanagedType.U4)]
public uint[] dwRemoteRight;/* æé */
/*æ°ç»0: è¿ç¨æ§å¶äºå°*/
/*æ°ç»1: è¿ç¨æå¨å½è±¡*/
/*æ°ç»2: è¿ç¨åæ¾ */
/*æ°ç»3: è¿ç¨è®¾ç½®åæ°*/
/*æ°ç»4: è¿ç¨æ¥çç¶æãæ¥å¿*/
/*æ°ç»5: è¿ç¨é«çº§æä½(å级ï¼æ ¼å¼åï¼éå¯ï¼å
³æº)*/
/*æ°ç»6: è¿ç¨åèµ·è¯é³å¯¹è®²*/
/*æ°ç»7: è¿ç¨é¢è§*/
/*æ°ç»8: è¿ç¨è¯·æ±æ¥è¦ä¸ä¼ ãæ¥è¦è¾åº*/
/*æ°ç»9: è¿ç¨æ§å¶ï¼æ¬å°è¾åº*/
/*æ°ç»10: è¿ç¨æ§å¶ä¸²å£*/
[MarshalAsAttribute(UnmanagedType.ByValTStr, SizeConst = 16)]
public string sUserIP;/* ç¨æ·IPå°å(为0æ¶è¡¨ç¤ºå
许任ä½å°å) */
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MACADDR_LEN, ArraySubType = UnmanagedType.I1)]
public byte[] byMACAddr;/* ç©çå°å */
}
//DVRç¨æ·åæ°(æ©å±)
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_USER_V40
{
public uint dwSize; //ç»æä½å¤§å°
public uint dwMaxUserNum; //设å¤æ¯æçæ大ç¨æ·æ°-åªè¯»
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_USERNUM_V30, ArraySubType = UnmanagedType.Struct)]
public NET_DVR_USER_INFO_V40[] struUser; /* ç¨æ·åæ° */
}
//DVRç¨æ·åæ°(9000æ©å±)
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_USER_V30
{
public uint dwSize;
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_USERNUM_V30, ArraySubType = UnmanagedType.Struct)]
public NET_DVR_USER_INFO_V30[] struUser;
}
//DVRç¨æ·åæ°(SDK_V15æ©å±)
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_USER_EX
{
public uint dwSize;
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_USERNUM, ArraySubType = UnmanagedType.Struct)]
public NET_DVR_USER_INFO_EX[] struUser;
}
//DVRç¨æ·åæ°
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_USER
{
public uint dwSize;
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_USERNUM, ArraySubType = UnmanagedType.Struct)]
public NET_DVR_USER_INFO[] struUser;
}
//å¼å¸¸åæ°é
ç½®æ©å±ç»æä½
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_EXCEPTION_V40
{
public uint dwSize ; //ç»æä½å¤§å°
public uint dwMaxGroupNum ; //设å¤æ¯æçæ大ç»æ°
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_EXCEPTIONNUM_V30, ArraySubType = UnmanagedType.Struct)]
public NET_DVR_HANDLEEXCEPTION_V41[] struExceptionHandle;
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 128, ArraySubType = UnmanagedType.I1)]
public byte[] byRes; //ä¿ç
}
//DVRå¼å¸¸åæ°(9000æ©å±)
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_EXCEPTION_V30
{
public uint dwSize;
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_EXCEPTIONNUM_V30, ArraySubType = UnmanagedType.Struct)]
public NET_DVR_HANDLEEXCEPTION_V30[] struExceptionHandleType;
/*æ°ç»0-ç满,1- 硬çåºé,2-ç½çº¿æ,3-å±åç½å
IP å°åå²çª, 4-éæ³è®¿é®, 5-è¾å
¥/è¾åºè§é¢å¶å¼ä¸å¹é
, 6-è§é¢ä¿¡å·å¼å¸¸, 7-å½åå¼å¸¸*/
}
//DVRå¼å¸¸åæ°
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_EXCEPTION
{
public uint dwSize;
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_EXCEPTIONNUM, ArraySubType = UnmanagedType.Struct)]
public NET_DVR_HANDLEEXCEPTION[] struExceptionHandleType;
/*æ°ç»0-ç满,1- 硬çåºé,2-ç½çº¿æ,3-å±åç½å
IP å°åå²çª,4-éæ³è®¿é®, 5-è¾å
¥/è¾åºè§é¢å¶å¼ä¸å¹é
, 6-è§é¢ä¿¡å·å¼å¸¸*/
}
//ééç¶æ(9000æ©å±)
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_CHANNELSTATE_V30
{
public byte byRecordStatic;//ééæ¯å¦å¨å½å,0-ä¸å½å,1-å½å
public byte bySignalStatic;//è¿æ¥çä¿¡å·ç¶æ,0-æ£å¸¸,1-ä¿¡å·ä¸¢å¤±
public byte byHardwareStatic;//éé硬件ç¶æ,0-æ£å¸¸,1-å¼å¸¸,ä¾å¦DSPæ»æ
public byte byRes1;//ä¿ç
public uint dwBitRate;//å®é
ç ç
public uint dwLinkNum;//客æ·ç«¯è¿æ¥ç个æ°
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_LINK, ArraySubType = UnmanagedType.Struct)]
public NET_DVR_IPADDR[] struClientIP;//客æ·ç«¯çIPå°å
public uint dwIPLinkNum;//å¦æ该éé为IPæ¥å
¥ï¼é£ä¹è¡¨ç¤ºIPæ¥å
¥å½åçè¿æ¥æ°
public byte byExceedMaxLink; // æ¯å¦è¶
åºäºåè·¯6è·¯è¿æ¥æ° 0 - æªè¶
åº, 1-è¶
åº
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 7, ArraySubType = UnmanagedType.I1)]
public byte[] byRes;
public uint dwChannelNo; //å½åçééå·ï¼0xffffffff表示æ æ
public void Init()
{
struClientIP = new NET_DVR_IPADDR[MAX_LINK];
for (int i = 0; i < MAX_LINK; i++)
{
struClientIP[i].Init();
}
byRes = new byte[12];
}
}
//ééç¶æ
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_CHANNELSTATE
{
public byte byRecordStatic;//ééæ¯å¦å¨å½å,0-ä¸å½å,1-å½å
public byte bySignalStatic;//è¿æ¥çä¿¡å·ç¶æ,0-æ£å¸¸,1-ä¿¡å·ä¸¢å¤±
public byte byHardwareStatic;//éé硬件ç¶æ,0-æ£å¸¸,1-å¼å¸¸,ä¾å¦DSPæ»æ
public byte reservedData;//ä¿ç
public uint dwBitRate;//å®é
ç ç
public uint dwLinkNum;//客æ·ç«¯è¿æ¥ç个æ°
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_LINK, ArraySubType = UnmanagedType.U4)]
public uint[] dwClientIP;//客æ·ç«¯çIPå°å
}
//硬çç¶æ
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_DISKSTATE
{
public uint dwVolume;//硬çç容é
public uint dwFreeSpace;//硬ççå©ä½ç©ºé´
public uint dwHardDiskStatic;//硬ççç¶æ,0-æ´»å¨,1-ä¼ç ,2-ä¸æ£å¸¸
}
//设å¤å·¥ä½ç¶ææ©å±ç»æä½
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_WORKSTATE_V40
{
public uint dwSize ; //ç»æä½å¤§å°
public uint dwDeviceStatic; //设å¤çç¶æ,0-æ£å¸¸,1-CPUå ç¨ç太é«,è¶
è¿85%,2-硬件é误,ä¾å¦ä¸²å£æ»æ
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_DISKNUM_V30, ArraySubType = UnmanagedType.Struct)]
public NET_DVR_DISKSTATE[] struHardDiskStatic; //硬çç¶æ,ä¸æ¬¡æå¤åªè½è·å33个硬çä¿¡æ¯
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_CHANNUM_V40, ArraySubType = UnmanagedType.Struct)]
public NET_DVR_CHANNELSTATE_V30[] struChanStatic;//ééçç¶æï¼ä»åå¾å顺åºæå
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_ALARMIN_V40, ArraySubType = UnmanagedType.U4)]
public uint[] dwHasAlarmInStatic; //ææ¥è¦çæ¥è¦è¾å
¥å£ï¼æå¼è¡¨ç¤ºï¼æä¸æ å¼é¡ºåºæåï¼å¼ä¸º0xffffffffæ¶å½åååç»å¼æ æ
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_ALARMOUT_V40, ArraySubType = UnmanagedType.U4)]
public uint[] dwHasAlarmOutStatic; //ææ¥è¦è¾åºçæ¥è¦è¾åºå£ï¼æå¼è¡¨ç¤ºï¼æä¸æ å¼é¡ºåºæåï¼å¼ä¸º0xffffffffæ¶å½åååç»å¼æ æ
public uint dwLocalDisplay; //æ¬å°æ¾ç¤ºç¶æ,0-æ£å¸¸,1-ä¸æ£å¸¸
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_AUDIO_V30, ArraySubType = UnmanagedType.U4)]
public uint[] byAudioInChanStatus; //æä½è¡¨ç¤ºè¯é³ééçç¶æ 0-æªä½¿ç¨ï¼1-使ç¨ä¸ï¼ç¬¬0ä½è¡¨ç¤ºç¬¬1个è¯é³éé
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 126, ArraySubType = UnmanagedType.I1)]
public byte[] byRes; //ä¿ç
}
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_GETWORKSTATE_COND
{
public uint dwSize ; //ç»æä½é¿åº¦
public byte byFindHardByCond; /*0-æ¥æ¾å
¨é¨ç£ç(ä½ä¸æ¬¡æå¤åªè½æ¥æ¾33个)ï¼æ¤æ¶dwFindHardStatusNumæ æ*/
public byte byFindChanByCond ; /*0-æ¥æ¾å
¨é¨ééï¼æ¤æ¶dwFindChanNumæ æ*/
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 2, ArraySubType = UnmanagedType.I1)]
public byte[] byRes1;//ä¿ç
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_DISKNUM_V30, ArraySubType = UnmanagedType.U4)]
public uint[] dwFindHardStatus ; /*è¦æ¥æ¾ç硬çå·ï¼æå¼è¡¨ç¤ºï¼è¯¥å¼éç¨é¡ºåºæåï¼ éå°0xffffffffå认为åç»æ æ */
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_CHANNUM_V40, ArraySubType = UnmanagedType.U4)]
public uint[] dwFindChanNo; /*è¦æ¥æ¾çééå·ï¼æå¼è¡¨ç¤ºï¼è¯¥å¼éç¨é¡ºåºæåï¼ éå°0xffffffffå认为åç»æ æ */
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 64, ArraySubType = UnmanagedType.I1)]
public byte[] byRes; //ä¿ç
}
//DVRå·¥ä½ç¶æ(9000æ©å±)
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_WORKSTATE_V30
{
public uint dwDeviceStatic;//设å¤çç¶æ,0-æ£å¸¸,1-CPUå ç¨ç太é«,è¶
è¿85%,2-硬件é误,ä¾å¦ä¸²å£æ»æ
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_DISKNUM_V30, ArraySubType = UnmanagedType.Struct)]
public NET_DVR_DISKSTATE[] struHardDiskStatic;
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_CHANNUM_V30, ArraySubType = UnmanagedType.Struct)]
public NET_DVR_CHANNELSTATE_V30[] struChanStatic;//ééçç¶æ
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_ALARMIN_V30, ArraySubType = UnmanagedType.I1)]
public byte[] byAlarmInStatic;//æ¥è¦ç«¯å£çç¶æ,0-没ææ¥è¦,1-ææ¥è¦
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_ALARMOUT_V30, ArraySubType = UnmanagedType.I1)]
public byte[] byAlarmOutStatic;//æ¥è¦è¾åºç«¯å£çç¶æ,0-没æè¾åº,1-ææ¥è¦è¾åº
public uint dwLocalDisplay;//æ¬å°æ¾ç¤ºç¶æ,0-æ£å¸¸,1-ä¸æ£å¸¸
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_AUDIO_V30, ArraySubType = UnmanagedType.I1)]
public byte[] byAudioChanStatus;//表示è¯é³ééçç¶æ 0-æªä½¿ç¨ï¼1-使ç¨ä¸, 0xffæ æ
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 10, ArraySubType = UnmanagedType.I1)]
public byte[] byRes;
public void Init()
{
struHardDiskStatic = new NET_DVR_DISKSTATE[MAX_DISKNUM_V30];
struChanStatic = new NET_DVR_CHANNELSTATE_V30[MAX_CHANNUM_V30];
for (int i = 0; i < MAX_CHANNUM_V30; i++)
{
struChanStatic[i].Init();
}
byAlarmInStatic = new byte[MAX_ALARMOUT_V30];
byAlarmOutStatic = new byte[MAX_ALARMOUT_V30];
byAudioChanStatus = new byte[MAX_AUDIO_V30];
byRes = new byte[10];
}
}
//DVRå·¥ä½ç¶æ
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_WORKSTATE
{
public uint dwDeviceStatic;//设å¤çç¶æ,0-æ£å¸¸,1-CPUå ç¨ç太é«,è¶
è¿85%,2-硬件é误,ä¾å¦ä¸²å£æ»æ
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_DISKNUM, ArraySubType = UnmanagedType.Struct)]
public NET_DVR_DISKSTATE[] struHardDiskStatic;
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_CHANNUM, ArraySubType = UnmanagedType.Struct)]
public NET_DVR_CHANNELSTATE[] struChanStatic;//ééçç¶æ
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_ALARMIN, ArraySubType = UnmanagedType.I1)]
public byte[] byAlarmInStatic;//æ¥è¦ç«¯å£çç¶æ,0-没ææ¥è¦,1-ææ¥è¦
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_ALARMOUT, ArraySubType = UnmanagedType.I1)]
public byte[] byAlarmOutStatic;//æ¥è¦è¾åºç«¯å£çç¶æ,0-没æè¾åº,1-ææ¥è¦è¾åº
public uint dwLocalDisplay;//æ¬å°æ¾ç¤ºç¶æ,0-æ£å¸¸,1-ä¸æ£å¸¸
public void Init()
{
struHardDiskStatic = new NET_DVR_DISKSTATE[MAX_DISKNUM];
struChanStatic = new NET_DVR_CHANNELSTATE[MAX_CHANNUM];
byAlarmInStatic = new byte[MAX_ALARMIN];
byAlarmOutStatic = new byte[MAX_ALARMOUT];
}
}
//æ¥å¿ä¿¡æ¯(9000æ©å±)
[StructLayoutAttribute(LayoutKind.Sequential, CharSet = CharSet.Ansi)]
public struct NET_DVR_LOG_V30
{
public NET_DVR_TIME strLogTime;
public uint dwMajorType;//主类å 1-æ¥è¦; 2-å¼å¸¸; 3-æä½; 0xff-å
¨é¨
public uint dwMinorType;//次类å 0-å
¨é¨;
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_NAMELEN, ArraySubType = UnmanagedType.I1)]
public byte[] sPanelUser;//æä½é¢æ¿çç¨æ·å
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_NAMELEN, ArraySubType = UnmanagedType.I1)]
public byte[] sNetUser;//ç½ç»æä½çç¨æ·å
public NET_DVR_IPADDR struRemoteHostAddr;//è¿ç¨ä¸»æºå°å
public uint dwParaType;//åæ°ç±»å
public uint dwChannel;//ééå·
public uint dwDiskNumber;//硬çå·
public uint dwAlarmInPort;//æ¥è¦è¾å
¥ç«¯å£
public uint dwAlarmOutPort;//æ¥è¦è¾åºç«¯å£
public uint dwInfoLen;
[MarshalAsAttribute(UnmanagedType.ByValTStr, SizeConst = LOG_INFO_LEN)]
public string sInfo;
}
//æ¥å¿ä¿¡æ¯
[StructLayoutAttribute(LayoutKind.Sequential, CharSet = CharSet.Ansi)]
public struct NET_DVR_LOG
{
public NET_DVR_TIME strLogTime;
public uint dwMajorType;//主类å 1-æ¥è¦; 2-å¼å¸¸; 3-æä½; 0xff-å
¨é¨
public uint dwMinorType;//次类å 0-å
¨é¨;
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_NAMELEN, ArraySubType = UnmanagedType.I1)]
public byte[] sPanelUser;//æä½é¢æ¿çç¨æ·å
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_NAMELEN, ArraySubType = UnmanagedType.I1)]
public byte[] sNetUser;//ç½ç»æä½çç¨æ·å
[MarshalAsAttribute(UnmanagedType.ByValTStr, SizeConst = 16)]
public string sRemoteHostAddr;//è¿ç¨ä¸»æºå°å
public uint dwParaType;//åæ°ç±»å
public uint dwChannel;//ééå·
public uint dwDiskNumber;//硬çå·
public uint dwAlarmInPort;//æ¥è¦è¾å
¥ç«¯å£
public uint dwAlarmOutPort;//æ¥è¦è¾åºç«¯å£
}
/************************å¨ç¯æ¥è¦ç®¡ç主æºæ¥å¿æ¥æ¾ begin************************************************/
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_ALARMHOST_SEARCH_LOG_PARAM
{
public ushort wMajorType; // 主类å
public ushort wMinorType; // 次类å
public NET_DVR_TIME struStartTime; // å¼å§æ¶é´
public NET_DVR_TIME struEndTime; // ç»ææ¶é´
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 8, ArraySubType = UnmanagedType.I1)]
public byte[] byRes; // ä¿çåè
}
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_ALARMHOST_LOG_RET
{
public NET_DVR_TIME struLogTime; // æ¥å¿æ¶é´
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = NAME_LEN, ArraySubType = UnmanagedType.I1)]
public byte[] sUserName; // æä½ç¨æ·
public NET_DVR_IPADDR struIPAddr; // æä½IPå°å
public ushort wMajorType; // 主类å
public ushort wMinorType; // 次类å
public ushort wParam; // æä½åæ°
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 10, ArraySubType = UnmanagedType.I1)]
public byte[] byRes;
public uint dwInfoLen; // æè¿°ä¿¡æ¯é¿åº¦
[MarshalAsAttribute(UnmanagedType.ByValTStr, SizeConst = LOG_INFO_LEN)]
public string sInfo; // æè¿°ä¿¡æ¯
}
/*************************å¨ç¯æ¥è¦ç®¡ç主æºæ¥å¿æ¥æ¾ end***********************************************/
//æ¥è¦è¾åºç¶æ(9000æ©å±)
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_ALARMOUTSTATUS_V30
{
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_ALARMOUT_V30, ArraySubType = UnmanagedType.I1)]
public byte[] Output;
public void Init()
{
Output = new byte[MAX_ALARMOUT_V30];
}
}
//æ¥è¦è¾åºç¶æ
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_ALARMOUTSTATUS
{
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 4, ArraySubType = UnmanagedType.I1)]
public byte[] Output;
}
//ATMä¸ç¨
/****************************ATM(begin)***************************/
public const int NCR = 0;
public const int DIEBOLD = 1;
public const int WINCOR_NIXDORF = 2;
public const int SIEMENS = 3;
public const int OLIVETTI = 4;
public const int FUJITSU = 5;
public const int HITACHI = 6;
public const int SMI = 7;
public const int IBM = 8;
public const int BULL = 9;
public const int YiHua = 10;
public const int LiDe = 11;
public const int GDYT = 12;
public const int Mini_Banl = 13;
public const int GuangLi = 14;
public const int DongXin = 15;
public const int ChenTong = 16;
public const int NanTian = 17;
public const int XiaoXing = 18;
public const int GZYY = 19;
public const int QHTLT = 20;
public const int DRS918 = 21;
public const int KALATEL = 22;
public const int NCR_2 = 23;
public const int NXS = 24;
//交æä¿¡æ¯
[StructLayoutAttribute(LayoutKind.Sequential, CharSet = CharSet.Ansi)]
public struct NET_DVR_TRADEINFO
{
public ushort m_Year;
public ushort m_Month;
public ushort m_Day;
public ushort m_Hour;
public ushort m_Minute;
public ushort m_Second;
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 24, ArraySubType = UnmanagedType.I1)]
public byte[] DeviceName;//设å¤å称
public uint dwChannelNumer;//ééå·
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 32, ArraySubType = UnmanagedType.I1)]
public byte[] CardNumber;//å¡å·
[MarshalAsAttribute(UnmanagedType.ByValTStr, SizeConst = 12)]
public string cTradeType;//交æç±»å
public uint dwCash;//交æéé¢
}
/*å¸§æ ¼å¼*/
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_FRAMETYPECODE
{
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 12, ArraySubType = UnmanagedType.I1)]
public byte[] code;/* 代ç */
}
//ATMåæ°
[StructLayoutAttribute(LayoutKind.Sequential, CharSet = CharSet.Ansi)]
public struct NET_DVR_FRAMEFORMAT
{
public uint dwSize;
[MarshalAsAttribute(UnmanagedType.ByValTStr, SizeConst = 16)]
public string sATMIP;/* ATM IPå°å */
public uint dwATMType;/* ATMç±»å */
public uint dwInputMode;/* è¾å
¥æ¹å¼ 0-ç½ç»ä¾¦å¬ 1-ç½ç»æ¥æ¶ 2-串å£ç´æ¥è¾å
¥ 3-串å£ATMå½ä»¤è¾å
¥*/
public uint dwFrameSignBeginPos;/* æ¥ææ å¿ä½çèµ·å§ä½ç½®*/
public uint dwFrameSignLength;/* æ¥ææ å¿ä½çé¿åº¦ */
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 12, ArraySubType = UnmanagedType.I1)]
public byte[] byFrameSignContent;/* æ¥ææ å¿ä½çå
容 */
public uint dwCardLengthInfoBeginPos;/* å¡å·é¿åº¦ä¿¡æ¯çèµ·å§ä½ç½® */
public uint dwCardLengthInfoLength;/* å¡å·é¿åº¦ä¿¡æ¯çé¿åº¦ */
public uint dwCardNumberInfoBeginPos;/* å¡å·ä¿¡æ¯çèµ·å§ä½ç½® */
public uint dwCardNumberInfoLength;/* å¡å·ä¿¡æ¯çé¿åº¦ */
public uint dwBusinessTypeBeginPos;/* 交æç±»åçèµ·å§ä½ç½® */
public uint dwBusinessTypeLength;/* 交æç±»åçé¿åº¦ */
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 10, ArraySubType = UnmanagedType.Struct)]
public NET_DVR_FRAMETYPECODE[] frameTypeCode;/* ç±»å */
}
//SDK_V31 ATM
/*è¿æ»¤è®¾ç½®*/
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_FILTER
{
public byte byEnable;/*0,ä¸å¯ç¨;1,å¯ç¨*/
public byte byMode;/*0,ASCII;1,HEX*/
public byte byFrameBeginPos;// æ¥ææ å¿ä½çèµ·å§ä½ç½®
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 1, ArraySubType = UnmanagedType.I1)]
public byte[] byRes;
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 16, ArraySubType = UnmanagedType.I1)]
public byte[] byFilterText;/*è¿æ»¤å符串*/
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 12, ArraySubType = UnmanagedType.I1)]
public byte[] byRes2;
}
/*èµ·å§æ è¯è®¾ç½®*/
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_IDENTIFICAT
{
public byte byStartMode;/*0,ASCII;1,HEX*/
public byte byEndMode;/*0,ASCII;1,HEX*/
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 2, ArraySubType = UnmanagedType.I1)]
public byte[] byRes;
public NET_DVR_FRAMETYPECODE struStartCode;/*èµ·å§å符*/
public NET_DVR_FRAMETYPECODE struEndCode;/*ç»æå符*/
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 12, ArraySubType = UnmanagedType.I1)]
public byte[] byRes1;
}
/*æ¥æä¿¡æ¯ä½ç½®*/
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_PACKAGE_LOCATION
{
public byte byOffsetMode;/*0,token;1,fix*/
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 3, ArraySubType = UnmanagedType.I1)]
public byte[] byRes1;
public uint dwOffsetPos;/*mode为1çæ¶å使ç¨*/
public NET_DVR_FRAMETYPECODE struTokenCode;/*æ å¿ä½*/
public byte byMultiplierValue;/*æ å¿ä½å¤å°æ¬¡åºç°*/
public byte byEternOffset;/*éå çå移é*/
public byte byCodeMode;/*0,ASCII;1,HEX*/
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 9, ArraySubType = UnmanagedType.I1)]
public byte[] byRes2;
}
/*æ¥æä¿¡æ¯é¿åº¦*/
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_PACKAGE_LENGTH
{
public byte byLengthMode;/*é¿åº¦ç±»åï¼0,variable;1,fix;2,get from package(设置å¡å·é¿åº¦ä½¿ç¨)*/
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 3, ArraySubType = UnmanagedType.I1)]
public byte[] byRes1;
public uint dwFixLength;/*mode为1çæ¶å使ç¨*/
public uint dwMaxLength;
public uint dwMinLength;
public byte byEndMode;/*ç»ç»ç¬¦0,ASCII;1,HEX*/
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 3, ArraySubType = UnmanagedType.I1)]
public byte[] byRes2;
public NET_DVR_FRAMETYPECODE struEndCode;/*ç»ç»ç¬¦*/
public uint dwLengthPos;/*lengthMode为2çæ¶å使ç¨ï¼å¡å·é¿åº¦å¨æ¥æä¸çä½ç½®*/
public uint dwLengthLen;/*lengthMode为2çæ¶å使ç¨ï¼å¡å·é¿åº¦çé¿åº¦*/
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 8, ArraySubType = UnmanagedType.I1)]
public byte[] byRes3;
}
/*OSD å å çä½ç½®*/
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_OSD_POSITION
{
public byte byPositionMode;/*å å é£æ ¼ï¼å
±2ç§ï¼0ï¼ä¸æ¾ç¤ºï¼1ï¼Custom*/
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 3, ArraySubType = UnmanagedType.I1)]
public byte[] byRes1;
public uint dwPos_x;/*xåæ ï¼positionmode为Customæ¶ä½¿ç¨*/
public uint dwPos_y;/*yåæ ï¼positionmode为Customæ¶ä½¿ç¨*/
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 8, ArraySubType = UnmanagedType.I1)]
public byte[] byRes2;
}
/*æ¥ææ¾ç¤ºæ ¼å¼*/
[StructLayoutAttribute(LayoutKind.Sequential, CharSet = CharSet.Ansi)]
public struct NET_DVR_DATE_FORMAT
{
public byte byItem1;/*Month,0.mm;1.mmm;2.mmmm*/
public byte byItem2;/*Day,0.dd;*/
public byte byItem3;/*Year,0.yy;1.yyyy*/
public byte byDateForm;/*0~5ï¼3个itemçæåç»å*/
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 20, ArraySubType = UnmanagedType.I1)]
public byte[] byRes;
[MarshalAsAttribute(UnmanagedType.ByValTStr, SizeConst = 4)]
public string chSeprator;/*åé符*/
[MarshalAsAttribute(UnmanagedType.ByValTStr, SizeConst = 4)]
public string chDisplaySeprator;/*æ¾ç¤ºåé符*/
public byte byDisplayForm;/*0~5ï¼3个itemçæåç»å*///lili mode by lili
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 27, ArraySubType = UnmanagedType.I1)]
public byte[] res;
}
/*æ¶é´æ¾ç¤ºæ ¼å¼*/
[StructLayoutAttribute(LayoutKind.Sequential, CharSet = CharSet.Ansi)]
public struct NET_DVRT_TIME_FORMAT
{
public byte byTimeForm;/*1. HH MM SS;0. HH MM*/
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 23, ArraySubType = UnmanagedType.I1)]
public byte[] byRes1;
public byte byHourMode;/*0,12;1,24*/ //lili mode
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 3, ArraySubType = UnmanagedType.I1)]
public byte[] byRes2;
[MarshalAsAttribute(UnmanagedType.ByValTStr, SizeConst = 4)]
public string chSeprator;/*æ¥æåé符ï¼ææ¶æ²¡ç¨*/
[MarshalAsAttribute(UnmanagedType.ByValTStr, SizeConst = 4)]
public string chDisplaySeprator;/*æ¾ç¤ºåé符*/
public byte byDisplayForm;/*0~5ï¼3个itemçæåç»å*/
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 3, ArraySubType = UnmanagedType.I1)]
public byte[] byRes3;
public byte byDisplayHourMode;/*0,12;1,24*/ //lili mode
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 19, ArraySubType = UnmanagedType.I1)]
public byte[] byRes4;
}
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_OVERLAY_CHANNEL
{
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 64, ArraySubType = UnmanagedType.I1)]
public byte[] byChannel;/*å å çéé*/
public uint dwDelayTime;/*å å 延æ¶æ¶é´*/
public byte byEnableDelayTime;/*æ¯å¦å¯ç¨å å 延æ¶ï¼å¨æ éå¡å½ä»¤æ¶å¯ç¨*/
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 11, ArraySubType = UnmanagedType.I1)]
public byte[] byRes;
}
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_ATM_PACKAGE_ACTION
{
public NET_DVR_PACKAGE_LOCATION struPackageLocation;
public NET_DVR_OSD_POSITION struOsdPosition;
public NET_DVR_FRAMETYPECODE struActionCode;/*交æç±»åç对åºçç */
public NET_DVR_FRAMETYPECODE struPreCode;/*å å å符åçå符*/
public byte byActionCodeMode;/*交æç±»åç对åºçç 0,ASCII;1,HEX*/
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 7, ArraySubType = UnmanagedType.I1)]
public byte[] byRes;
}
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_ATM_PACKAGE_DATE
{
public NET_DVR_PACKAGE_LOCATION struPackageLocation;
public NET_DVR_DATE_FORMAT struDateForm;
public NET_DVR_OSD_POSITION struOsdPosition;
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 8, ArraySubType = UnmanagedType.I1)]
public byte[] res;
}
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_ATM_PACKAGE_TIME
{
public NET_DVR_PACKAGE_LOCATION location;
public NET_DVRT_TIME_FORMAT struTimeForm;
public NET_DVR_OSD_POSITION struOsdPosition;
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 8, ArraySubType = UnmanagedType.I1)]
public byte[] byRes;
}
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_ATM_PACKAGE_OTHERS
{
public NET_DVR_PACKAGE_LOCATION struPackageLocation;
public NET_DVR_PACKAGE_LENGTH struPackageLength;
public NET_DVR_OSD_POSITION struOsdPosition;
public NET_DVR_FRAMETYPECODE struPreCode;/*å å å符åçå符*/
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 8, ArraySubType = UnmanagedType.I1)]
public byte[] res;
}
//ç¨æ·èªå®ä¹åè®®
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_ATM_USER_DEFINE_PROTOCOL
{
public NET_DVR_IDENTIFICAT struIdentification; //æ¥ææ å¿
public NET_DVR_FILTER struFilter; //æ°æ®å
è¿æ»¤è®¾ç½®
public NET_DVR_ATM_PACKAGE_OTHERS struCardNoPara; //å å å¡å·è®¾ç½®
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_ACTION_TYPE, ArraySubType = UnmanagedType.Struct)]
public NET_DVR_ATM_PACKAGE_ACTION[] struTradeActionPara; //å å 交æè¡ä¸ºè®¾ç½® 0-9 ä¾æ¬¡å¯¹åºInCard OutCard OverLay SetTime GetStatus Query WithDraw Deposit ChanPass Transfer
public NET_DVR_ATM_PACKAGE_OTHERS struAmountPara; //å å 交æéé¢è®¾ç½®
public NET_DVR_ATM_PACKAGE_OTHERS struSerialNoPara; //å å 交æåºå·è®¾ç½®
public NET_DVR_OVERLAY_CHANNEL struOverlayChan; //å å éé设置
public NET_DVR_ATM_PACKAGE_DATE struRes1; //å å æ¥æï¼ä¿ç
public NET_DVR_ATM_PACKAGE_TIME struRes2; //å å æ¶é´ï¼ä¿ç
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 124, ArraySubType = UnmanagedType.I1)]
public byte[] byRes3; //ä¿ç
}
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_ATM_FRAMEFORMAT_V30
{
public uint dwSize; //ç»æ大å°
public byte byEnable; /*æ¯å¦å¯ç¨0,ä¸å¯ç¨;1,å¯ç¨*/
public byte byInputMode; /**è¾å
¥æ¹å¼:0-ç½ç»çå¬ã1ç½ç»åè®®ã2-串å£çå¬ã3-串å£åè®®*/
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 34, ArraySubType = UnmanagedType.I1)]
public byte[] byRes1; //ä¿çåè
public NET_DVR_IPADDR struAtmIp; /*ATM æºIP ç½ç»çå¬æ¶ä½¿ç¨ */
public ushort wAtmPort; /* ç½ç»åè®®æ¹å¼æ¶æ¯ä½¿ç¨*/
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 2, ArraySubType = UnmanagedType.I1)]
public byte[] byRes2; // ä¿çåè
public uint dwAtmType; /*ATMå议类åï¼ä»NET_DVR_ATM_PROTOCOLç»æä¸è·åï¼å¦æç±»å为èªå®ä¹æ¶ä½¿ç¨ç¨æ·èªå®ä¹åè®®*/
public NET_DVR_ATM_USER_DEFINE_PROTOCOL struAtmUserDefineProtocol; //ç¨æ·èªå®ä¹åè®®ï¼å½ATMç±»å为èªå®æ¶éè¦ä½¿ç¨è¯¥å®ä¹
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 8, ArraySubType = UnmanagedType.I1)]
public byte[] byRes3;
}
//å议信æ¯æ°æ®ç»æ
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_ATM_PROTO_TYPE
{
public uint dwAtmType; //ATMå议类åï¼åæ¶ä½ä¸ºç´¢å¼åºå· ATM é
ç½®ä¸çdwAtmType èªå®ä¹æ¶ä¸º1025
[MarshalAsAttribute(UnmanagedType.ByValTStr, SizeConst = ATM_DESC_LEN)]
public string chDesc; //ATMåè®®ç®åæè¿°
}
[StructLayoutAttribute(LayoutKind.Sequential, CharSet = CharSet.Ansi)]
public struct NET_DVR_ATM_PROTO_LIST
{
public uint dwAtmProtoNum;/*åè®®å表ç个æ°*/
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_ATM_PROTOCOL_NUM, ArraySubType = UnmanagedType.Struct)]
public NET_DVR_ATM_PROTO_TYPE[] struAtmProtoType;/*åè®®å表信æ¯*/
}
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_ATM_PROTOCOL
{
public uint dwSize;
public NET_DVR_ATM_PROTO_LIST struNetListenList; // ç½ç»çå¬åè®®æè¿°
public NET_DVR_ATM_PROTO_LIST struSerialListenList; //串å£çå¬åè®®æè¿°
public NET_DVR_ATM_PROTO_LIST struNetProtoList; //ç½ç»åè®®æè¿°
public NET_DVR_ATM_PROTO_LIST struSerialProtoList; //串å£åè®®æè¿°
public NET_DVR_ATM_PROTO_TYPE struCustomProto; //èªå®ä¹åè®®
}
/*****************************DS-6001D/F(begin)***************************/
//DS-6001D Decoder
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_DECODERINFO
{
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 16, ArraySubType = UnmanagedType.I1)]
public byte[] byEncoderIP;//解ç 设å¤è¿æ¥çæå¡å¨IP
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 16, ArraySubType = UnmanagedType.I1)]
public byte[] byEncoderUser;//解ç 设å¤è¿æ¥çæå¡å¨çç¨æ·å
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 16, ArraySubType = UnmanagedType.I1)]
public byte[] byEncoderPasswd;//解ç 设å¤è¿æ¥çæå¡å¨çå¯ç
public byte bySendMode;//解ç 设å¤è¿æ¥æå¡å¨çè¿æ¥æ¨¡å¼
public byte byEncoderChannel;//解ç 设å¤è¿æ¥çæå¡å¨çééå·
public ushort wEncoderPort;//解ç 设å¤è¿æ¥çæå¡å¨ç端å£å·
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 4, ArraySubType = UnmanagedType.I1)]
public byte[] reservedData;//ä¿ç
}
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_DECODERSTATE
{
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 16, ArraySubType = UnmanagedType.I1)]
public byte[] byEncoderIP;//解ç 设å¤è¿æ¥çæå¡å¨IP
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 16, ArraySubType = UnmanagedType.I1)]
public byte[] byEncoderUser;//解ç 设å¤è¿æ¥çæå¡å¨çç¨æ·å
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 16, ArraySubType = UnmanagedType.I1)]
public byte[] byEncoderPasswd;//解ç 设å¤è¿æ¥çæå¡å¨çå¯ç
public byte byEncoderChannel;//解ç 设å¤è¿æ¥çæå¡å¨çééå·
public byte bySendMode;//解ç 设å¤è¿æ¥çæå¡å¨çè¿æ¥æ¨¡å¼
public ushort wEncoderPort;//解ç 设å¤è¿æ¥çæå¡å¨ç端å£å·
public uint dwConnectState;//解ç 设å¤è¿æ¥æå¡å¨çç¶æ
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 4, ArraySubType = UnmanagedType.I1)]
public byte[] reservedData;//ä¿ç
}
/*解ç 设å¤æ§å¶ç å®ä¹*/
public const int NET_DEC_STARTDEC = 1;
public const int NET_DEC_STOPDEC = 2;
public const int NET_DEC_STOPCYCLE = 3;
public const int NET_DEC_CONTINUECYCLE = 4;
/*è¿æ¥çééé
ç½®*/
[StructLayoutAttribute(LayoutKind.Sequential, CharSet = CharSet.Ansi)]
public struct NET_DVR_DECCHANINFO
{
[MarshalAsAttribute(UnmanagedType.ByValTStr, SizeConst = 16)]
public string sDVRIP;/* DVR IPå°å */
public ushort wDVRPort;/* 端å£å· */
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = NAME_LEN, ArraySubType = UnmanagedType.I1)]
public byte[] sUserName;/* ç¨æ·å */
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = PASSWD_LEN, ArraySubType = UnmanagedType.I1)]
public byte[] sPassword;/* å¯ç */
public byte byChannel;/* ééå· */
public byte byLinkMode;/* è¿æ¥æ¨¡å¼ */
public byte byLinkType;/* è¿æ¥ç±»å 0ï¼ä¸»ç æµ 1ï¼åç æµ */
}
/*æ¯ä¸ªè§£ç ééçé
ç½®*/
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_DECINFO
{
public byte byPoolChans;/*æ¯è·¯è§£ç ééä¸ç循ç¯ééæ°é, æå¤4éé 0表示没æ解ç */
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_DECPOOLNUM, ArraySubType = UnmanagedType.Struct)]
public NET_DVR_DECCHANINFO[] struchanConInfo;
public byte byEnablePoll;/*æ¯å¦è½®å·¡ 0-å¦ 1-æ¯*/
public byte byPoolTime;/*轮巡æ¶é´ 0-ä¿ç 1-10ç§ 2-15ç§ 3-20ç§ 4-30ç§ 5-45ç§ 6-1åé 7-2åé 8-5åé */
}
/*æ´ä¸ªè®¾å¤è§£ç é
ç½®*/
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_DECCFG
{
public uint dwSize;
public uint dwDecChanNum;/*解ç ééçæ°é*/
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_DECNUM, ArraySubType = UnmanagedType.Struct)]
public NET_DVR_DECINFO[] struDecInfo;
}
//2005-08-01
/* 解ç 设å¤éæéé设置 */
[StructLayoutAttribute(LayoutKind.Sequential, CharSet = CharSet.Ansi)]
public struct NET_DVR_PORTINFO
{
public uint dwEnableTransPort;/* æ¯å¦å¯å¨éæéé 0ï¼ä¸å¯ç¨ 1ï¼å¯ç¨*/
[MarshalAsAttribute(UnmanagedType.ByValTStr, SizeConst = 16)]
public string sDecoderIP;/* DVR IPå°å */
public ushort wDecoderPort;/* 端å£å· */
public ushort wDVRTransPort;/* é
ç½®å端DVRæ¯ä»485/232è¾åºï¼1表示232串å£,2表示485ä¸²å£ */
[MarshalAsAttribute(UnmanagedType.ByValTStr, SizeConst = 4)]
public string cReserve;
}
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_PORTCFG
{
public uint dwSize;
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_TRANSPARENTNUM, ArraySubType = UnmanagedType.Struct)]
public NET_DVR_PORTINFO[] struTransPortInfo;/* æ°ç»0表示232 æ°ç»1表示485 */
}
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct bytime
{
public uint dwChannel;
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 32, ArraySubType = UnmanagedType.I1)]
public byte[] sUserName;/*请æ±è§é¢ç¨æ·å*/
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 16, ArraySubType = UnmanagedType.I1)]
public byte[] sPassword;/* å¯ç */
public NET_DVR_TIME struStartTime;/* ææ¶é´åæ¾çå¼å§æ¶é´ */
public NET_DVR_TIME struStopTime;/* ææ¶é´åæ¾çç»ææ¶é´ */
}
/* æ§å¶ç½ç»æ件åæ¾ */
[StructLayoutAttribute(LayoutKind.Sequential, CharSet = CharSet.Ansi)]
public struct NET_DVR_PLAYREMOTEFILE
{
public uint dwSize;
[MarshalAsAttribute(UnmanagedType.ByValTStr, SizeConst = 16)]
public string sDecoderIP;/* DVR IPå°å */
public ushort wDecoderPort;/* 端å£å· */
public ushort wLoadMode;/* åæ¾ä¸è½½æ¨¡å¼ 1ï¼æåå 2ï¼ææ¶é´ */
[StructLayoutAttribute(LayoutKind.Explicit)]
public struct mode_size
{
[FieldOffsetAttribute(0)]
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 100, ArraySubType = UnmanagedType.I1)]
public byte[] byFile;/* åæ¾çæ件å */
[FieldOffsetAttribute(0)]
public bytime bytime;
}
}
/*å½å设å¤è§£ç è¿æ¥ç¶æ*/
[StructLayoutAttribute(LayoutKind.Sequential, CharSet = CharSet.Ansi)]
public struct NET_DVR_DECCHANSTATUS
{
public uint dwWorkType;/*å·¥ä½æ¹å¼ï¼1ï¼è½®å·¡ã2ï¼å¨æè¿æ¥è§£ç ã3ï¼æ件åæ¾ä¸è½½ 4ï¼ææ¶é´åæ¾ä¸è½½*/
[MarshalAsAttribute(UnmanagedType.ByValTStr, SizeConst = 16)]
public string sDVRIP;/*è¿æ¥ç设å¤ip*/
public ushort wDVRPort;/*è¿æ¥ç«¯å£å·*/
public byte byChannel;/* ééå· */
public byte byLinkMode;/* è¿æ¥æ¨¡å¼ */
public uint dwLinkType;/*è¿æ¥ç±»å 0ï¼ä¸»ç æµ 1ï¼åç æµ*/
[StructLayoutAttribute(LayoutKind.Explicit)]
public struct objectInfo
{
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct userInfo
{
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 32, ArraySubType = UnmanagedType.I1)]
public byte[] sUserName;/*请æ±è§é¢ç¨æ·å*/
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 16, ArraySubType = UnmanagedType.I1)]
public byte[] sPassword;/* å¯ç */
[MarshalAsAttribute(UnmanagedType.ByValTStr, SizeConst = 52)]
public string cReserve;
}
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct fileInfo
{
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 100, ArraySubType = UnmanagedType.I1)]
public byte[] fileName;
}
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct timeInfo
{
public uint dwChannel;
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 32, ArraySubType = UnmanagedType.I1)]
public byte[] sUserName;/*请æ±è§é¢ç¨æ·å*/
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 16, ArraySubType = UnmanagedType.I1)]
public byte[] sPassword;/* å¯ç */
public NET_DVR_TIME struStartTime;/* ææ¶é´åæ¾çå¼å§æ¶é´ */
public NET_DVR_TIME struStopTime;/* ææ¶é´åæ¾çç»ææ¶é´ */
}
}
}
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_DECSTATUS
{
public uint dwSize;
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_DECNUM, ArraySubType = UnmanagedType.Struct)]
public NET_DVR_DECCHANSTATUS[] struTransPortInfo;
}
/*****************************DS-6001D/F(end)***************************/
//åå符åæ°(åç»æ)
[StructLayoutAttribute(LayoutKind.Sequential, CharSet = CharSet.Ansi)]
public struct NET_DVR_SHOWSTRINGINFO
{
public ushort wShowString;// é¢è§çå¾è±¡ä¸æ¯å¦æ¾ç¤ºå符,0-ä¸æ¾ç¤º,1-æ¾ç¤º åºå大å°704*576,å个å符ç大å°ä¸º32*32
public ushort wStringSize;/* 该è¡å符çé¿åº¦ï¼ä¸è½å¤§äº44个å符 */
public ushort wShowStringTopLeftX;/* å符æ¾ç¤ºä½ç½®çxåæ */
public ushort wShowStringTopLeftY;/* å符å称æ¾ç¤ºä½ç½®çyåæ */
[MarshalAsAttribute(UnmanagedType.ByValTStr, SizeConst = 44)]
public string sString;/* è¦æ¾ç¤ºçå符å
容 */
}
//å å å符(9000æ©å±)
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_SHOWSTRING_V30
{
public uint dwSize;
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_STRINGNUM_V30, ArraySubType = UnmanagedType.Struct)]
public NET_DVR_SHOWSTRINGINFO[] struStringInfo;/* è¦æ¾ç¤ºçå符å
容 */
}
//å å å符æ©å±(8æ¡å符)
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_SHOWSTRING_EX
{
public uint dwSize;
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_STRINGNUM_EX, ArraySubType = UnmanagedType.Struct)]
public NET_DVR_SHOWSTRINGINFO[] struStringInfo;/* è¦æ¾ç¤ºçå符å
容 */
}
//å å å符
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_SHOWSTRING
{
public uint dwSize;
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_STRINGNUM, ArraySubType = UnmanagedType.Struct)]
public NET_DVR_SHOWSTRINGINFO[] struStringInfo;/* è¦æ¾ç¤ºçå符å
容 */
}
/****************************DS9000æ°å¢ç»æ(begin)******************************/
/*EMAILåæ°ç»æ*/
//ä¸åç»æä½æå·®å¼
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct struReceiver
{
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = NAME_LEN, ArraySubType = UnmanagedType.I1)]
public byte[] sName;/* æ¶ä»¶äººå§å */
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_EMAIL_ADDR_LEN, ArraySubType = UnmanagedType.I1)]
public byte[] sAddress;/* æ¶ä»¶äººå°å */
}
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_EMAILCFG_V30
{
public uint dwSize;
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = NAME_LEN, ArraySubType = UnmanagedType.I1)]
public byte[] sAccount;/* è´¦å·*/
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_EMAIL_PWD_LEN, ArraySubType = UnmanagedType.I1)]
public byte[] sPassword;/*å¯ç */
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct struSender
{
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = NAME_LEN, ArraySubType = UnmanagedType.I1)]
public byte[] sName;/* å件人å§å */
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_EMAIL_ADDR_LEN, ArraySubType = UnmanagedType.I1)]
public byte[] sAddress;/* å件人å°å */
}
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_EMAIL_ADDR_LEN, ArraySubType = UnmanagedType.I1)]
public byte[] sSmtpServer;/* smtpæå¡å¨ */
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_EMAIL_ADDR_LEN, ArraySubType = UnmanagedType.I1)]
public byte[] sPop3Server;/* pop3æå¡å¨ */
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 3, ArraySubType = UnmanagedType.Struct)]
public struReceiver[] struStringInfo;/* æå¤å¯ä»¥è®¾ç½®3个æ¶ä»¶äºº */
public byte byAttachment;/* æ¯å¦å¸¦é件 */
public byte bySmtpServerVerify;/* åéæå¡å¨è¦æ±èº«ä»½éªè¯ */
public byte byMailInterval;/* mail interval */
public byte byEnableSSL;//sslæ¯å¦å¯ç¨9000_1.1
public ushort wSmtpPort;//gmailç465ï¼æ®éç为25
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 74, ArraySubType = UnmanagedType.I1)]
public byte[] byRes;//ä¿ç
}
/*DVRå®ç°å·¡èªæ°æ®ç»æ*/
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_CRUISE_PARA
{
public uint dwSize;
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = CRUISE_MAX_PRESET_NUMS, ArraySubType = UnmanagedType.I1)]
public byte[] byPresetNo;/* é¢ç½®ç¹å· */
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = CRUISE_MAX_PRESET_NUMS, ArraySubType = UnmanagedType.I1)]
public byte[] byCruiseSpeed;/* å·¡èªé度 */
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = CRUISE_MAX_PRESET_NUMS, ArraySubType = UnmanagedType.U2)]
public ushort[] wDwellTime;/* åçæ¶é´ */
public byte byEnableThisCruise;/* æ¯å¦å¯ç¨ */
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 15, ArraySubType = UnmanagedType.I1)]
public byte[] res;
}
/****************************DS9000æ°å¢ç»æ(end)******************************/
//æ¶é´ç¹
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_TIMEPOINT
{
public uint dwMonth;//æ 0-11表示1-12个æ
public uint dwWeekNo;//第å å¨ 0ï¼ç¬¬1å¨ 1ï¼ç¬¬2å¨ 2ï¼ç¬¬3å¨ 3ï¼ç¬¬4å¨ 4ï¼æåä¸å¨
public uint dwWeekDate;//ææå 0ï¼æææ¥ 1ï¼ææä¸ 2ï¼ææäº 3ï¼ææä¸ 4ï¼ææå 5ï¼ææäº 6ï¼ææå
public uint dwHour;//å°æ¶ å¼å§æ¶é´0ï¼23 ç»ææ¶é´1ï¼23
public uint dwMin;//å 0ï¼59
}
//å¤ä»¤æ¶åæ°
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_ZONEANDDST
{
public uint dwSize;
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 16, ArraySubType = UnmanagedType.I1)]
public byte[] byRes1;//ä¿ç
public uint dwEnableDST;//æ¯å¦å¯ç¨å¤æ¶å¶ 0ï¼ä¸å¯ç¨ 1ï¼å¯ç¨
public byte byDSTBias;//å¤ä»¤æ¶å移å¼ï¼30min, 60min, 90min, 120min, 以åé计ï¼ä¼ éåå§æ°å¼
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 3, ArraySubType = UnmanagedType.I1)]
public byte[] byRes2;
public NET_DVR_TIMEPOINT struBeginPoint;//å¤æ¶å¶å¼å§æ¶é´
public NET_DVR_TIMEPOINT struEndPoint;//å¤æ¶å¶åæ¢æ¶é´
}
//å¾çè´¨é
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_JPEGPARA
{
/*注æï¼å½å¾åå缩å辨ç为VGAæ¶ï¼æ¯æ0=CIF, 1=QCIF, 2=D1æå¾ï¼
å½å辨ç为3=UXGA(1600x1200), 4=SVGA(800x600), 5=HD720p(1280x720),6=VGA,7=XVGA, 8=HD900p
ä»
æ¯æå½åå辨ççæå¾*/
public ushort wPicSize;/* 0=CIF, 1=QCIF, 2=D1 3=UXGA(1600x1200), 4=SVGA(800x600), 5=HD720p(1280x720),6=VGA*/
public ushort wPicQuality;/* å¾çè´¨éç³»æ° 0-æ好 1-è¾å¥½ 2-ä¸è¬ */
}
/* aux video out parameter */
//è¾
å©è¾åºåæ°é
ç½®
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_AUXOUTCFG
{
public uint dwSize;
public uint dwAlarmOutChan;/* éæ©æ¥è¦å¼¹åºå¤§æ¥è¦ééåæ¢æ¶é´ï¼1ç»é¢çè¾åºéé: 0:主è¾åº/1:è¾
1/2:è¾
2/3:è¾
3/4:è¾
4 */
public uint dwAlarmChanSwitchTime;/* :1ç§ - 10:10ç§ */
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_AUXOUT, ArraySubType = UnmanagedType.U4)]
public uint[] dwAuxSwitchTime;/* è¾
å©è¾åºåæ¢æ¶é´: 0-ä¸åæ¢,1-5s,2-10s,3-20s,4-30s,5-60s,6-120s,7-300s */
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_AUXOUT * MAX_WINDOW, ArraySubType = UnmanagedType.I1)]
public byte[] byAuxOrder;/* è¾
å©è¾åºé¢è§é¡ºåº, 0xff表示ç¸åºççªå£ä¸é¢è§ */
}
//ntp
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_NTPPARA
{
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 64, ArraySubType = UnmanagedType.I1)]
public byte[] sNTPServer;/* Domain Name or IP addr of NTP server */
public ushort wInterval;/* adjust time interval(hours) */
public byte byEnableNTP;/* enable NPT client 0-noï¼1-yes*/
public byte cTimeDifferenceH;/* ä¸å½é
æ åæ¶é´ç å°æ¶å移-12 ... +13 */
public byte cTimeDifferenceM;/* ä¸å½é
æ åæ¶é´ç åéå移0, 30, 45*/
public byte res1;
public ushort wNtpPort; /* ntp server port 9000æ°å¢ 设å¤é»è®¤ä¸º123*/
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 8, ArraySubType = UnmanagedType.I1)]
public byte[] res2;
}
//ddns
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_DDNSPARA
{
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = NAME_LEN, ArraySubType = UnmanagedType.I1)]
public byte[] sUsername;/* DDNSè´¦å·ç¨æ·å/å¯ç */
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = PASSWD_LEN, ArraySubType = UnmanagedType.I1)]
public byte[] sPassword;
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 64, ArraySubType = UnmanagedType.I1)]
public byte[] sDomainName; /* åå */
public byte byEnableDDNS;/*æ¯å¦åºç¨ 0-å¦ï¼1-æ¯*/
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 15, ArraySubType = UnmanagedType.I1)]
public byte[] res;
}
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_DDNSPARA_EX
{
public byte byHostIndex;/* 0-Hikvision DNS 1ï¼Dyndns 2ï¼PeanutHull(è±ç壳)*/
public byte byEnableDDNS;/*æ¯å¦åºç¨DDNS 0-å¦ï¼1-æ¯*/
public ushort wDDNSPort;/* DDNS端å£å· */
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = NAME_LEN, ArraySubType = UnmanagedType.I1)]
public byte[] sUsername;/* DDNSç¨æ·å*/
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = PASSWD_LEN, ArraySubType = UnmanagedType.I1)]
public byte[] sPassword;/* DDNSå¯ç */
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_DOMAIN_NAME, ArraySubType = UnmanagedType.I1)]
public byte[] sDomainName;/* 设å¤é
å¤çååå°å */
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_DOMAIN_NAME, ArraySubType = UnmanagedType.I1)]
public byte[] sServerName;/* DDNS 对åºçæå¡å¨å°åï¼å¯ä»¥æ¯IPå°åæåå */
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 16, ArraySubType = UnmanagedType.I1)]
public byte[] byRes;
}
//9000æ©å±
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct struDDNS
{
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = NAME_LEN, ArraySubType = UnmanagedType.I1)]
public byte[] sUsername;/* DDNSè´¦å·ç¨æ·å*/
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = PASSWD_LEN, ArraySubType = UnmanagedType.I1)]
public byte[] sPassword;/* å¯ç */
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_DOMAIN_NAME, ArraySubType = UnmanagedType.I1)]
public byte[] sDomainName;/* 设å¤é
å¤çååå°å */
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_DOMAIN_NAME, ArraySubType = UnmanagedType.I1)]
public byte[] sServerName;/* DDNSå议对åºçæå¡å¨å°åï¼å¯ä»¥æ¯IPå°åæåå */
public ushort wDDNSPort;/* 端å£å· */
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 10, ArraySubType = UnmanagedType.I1)]
public byte[] byRes;
}
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_DDNSPARA_V30
{
public byte byEnableDDNS;
public byte byHostIndex;/* 0-Hikvision DNS(ä¿ç) 1ï¼Dyndns 2ï¼PeanutHull(è±ç壳)*/
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 2, ArraySubType = UnmanagedType.I1)]
public byte[] byRes1;
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_DDNS_NUMS, ArraySubType = UnmanagedType.Struct)]
public struDDNS[] struDDNS;
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 16, ArraySubType = UnmanagedType.I1)]
public byte[] byRes2;
}
//email
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_EMAILPARA
{
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 64, ArraySubType = UnmanagedType.I1)]
public byte[] sUsername;/* é®ä»¶è´¦å·/å¯ç */
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 64, ArraySubType = UnmanagedType.I1)]
public byte[] sPassword;
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 64, ArraySubType = UnmanagedType.I1)]
public byte[] sSmtpServer;
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 64, ArraySubType = UnmanagedType.I1)]
public byte[] sPop3Server;
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 64, ArraySubType = UnmanagedType.I1)]
public byte[] sMailAddr;/* email */
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 64, ArraySubType = UnmanagedType.I1)]
public byte[] sEventMailAddr1;/* ä¸ä¼ æ¥è¦/å¼å¸¸ççemail */
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 64, ArraySubType = UnmanagedType.I1)]
public byte[] sEventMailAddr2;
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 16, ArraySubType = UnmanagedType.I1)]
public byte[] res;
}
//ç½ç»åæ°é
ç½®
[StructLayoutAttribute(LayoutKind.Sequential, CharSet = CharSet.Ansi)]
public struct NET_DVR_NETAPPCFG
{
public uint dwSize;
[MarshalAsAttribute(UnmanagedType.ByValTStr, SizeConst = 16)]
public string sDNSIp; /* DNSæå¡å¨å°å */
public NET_DVR_NTPPARA struNtpClientParam;/* NTPåæ° */
public NET_DVR_DDNSPARA struDDNSClientParam;/* DDNSåæ° */
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 464, ArraySubType = UnmanagedType.I1)]
public byte[] res;/* ä¿ç */
}
//nfsç»æé
ç½®
[StructLayoutAttribute(LayoutKind.Sequential, CharSet = CharSet.Ansi)]
public struct NET_DVR_SINGLE_NFS
{
[MarshalAsAttribute(UnmanagedType.ByValTStr, SizeConst = 16)]
public string sNfsHostIPAddr;
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = PATHNAME_LEN, ArraySubType = UnmanagedType.I1)]
public byte[] sNfsDirectory;
public void Init()
{
this.sNfsDirectory = new byte[PATHNAME_LEN];
}
}
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_NFSCFG
{
public uint dwSize;
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_NFS_DISK, ArraySubType = UnmanagedType.Struct)]
public NET_DVR_SINGLE_NFS[] struNfsDiskParam;
public void Init()
{
this.struNfsDiskParam = new NET_DVR_SINGLE_NFS[MAX_NFS_DISK];
for (int i = 0; i < MAX_NFS_DISK; i++)
{
struNfsDiskParam[i].Init();
}
}
}
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_ISCSI_CFG
{
public uint dwSize; // ç»æ大å°
public ushort wVrmPort; // VRM çå¬ç«¯å£
public byte byEnable; // æ¯å¦å¯ç¨ ISCSIåå¨
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 69, ArraySubType = UnmanagedType.I1)]
public byte[] byRes; // ä¿çåè
public NET_DVR_IPADDR struVrmAddr; // VRM ipå°å 16ä½
[MarshalAsAttribute(UnmanagedType.ByValTStr, SizeConst = 64)]
public string chNvtIndexCode; //nvt index Code
}
//å·¡èªç¹é
ç½®(HIK IPå¿«çä¸ç¨)
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_CRUISE_POINT
{
public byte PresetNum;//é¢ç½®ç¹
public byte Dwell;//åçæ¶é´
public byte Speed;//é度
public byte Reserve;//ä¿ç
public void Init()
{
PresetNum = 0;
Dwell = 0;
Speed = 0;
Reserve = 0;
}
}
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_CRUISE_RET
{
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 32, ArraySubType = UnmanagedType.Struct)]
public NET_DVR_CRUISE_POINT[] struCruisePoint;//æ大æ¯æ32个巡èªç¹
public void Init()
{
struCruisePoint = new NET_DVR_CRUISE_POINT[32];
for (int i = 0; i < 32; i++)
{
struCruisePoint[i].Init();
}
}
}
/************************************å¤è·¯è§£ç å¨(begin)***************************************/
[StructLayoutAttribute(LayoutKind.Sequential, CharSet = CharSet.Ansi)]
public struct NET_DVR_NETCFG_OTHER
{
public uint dwSize;
[MarshalAsAttribute(UnmanagedType.ByValTStr, SizeConst = 16)]
public string sFirstDNSIP;
[MarshalAsAttribute(UnmanagedType.ByValTStr, SizeConst = 16)]
public string sSecondDNSIP;
[MarshalAsAttribute(UnmanagedType.ByValTStr, SizeConst = 32)]
public string sRes;
}
[StructLayoutAttribute(LayoutKind.Sequential, CharSet = CharSet.Ansi)]
public struct NET_DVR_MATRIX_DECINFO
{
[MarshalAsAttribute(UnmanagedType.ByValTStr, SizeConst = 16)]
public string sDVRIP;/* DVR IPå°å */
public ushort wDVRPort;/* 端å£å· */
public byte byChannel;/* ééå· */
public byte byTransProtocol;/* ä¼ è¾å议类å 0-TCP, 1-UDP */
public byte byTransMode;/* ä¼ è¾ç æµæ¨¡å¼ 0ï¼ä¸»ç æµ 1ï¼åç æµ*/
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 3, ArraySubType = UnmanagedType.I1)]
public byte[] byRes;
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = NAME_LEN, ArraySubType = UnmanagedType.I1)]
public byte[] sUserName;/* çæ§ä¸»æºç»éå¸å· */
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = PASSWD_LEN, ArraySubType = UnmanagedType.I1)]
public byte[] sPassword;/* çæ§ä¸»æºå¯ç */
}
//å¯å¨/åæ¢å¨æ解ç
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_MATRIX_DYNAMIC_DEC
{
public uint dwSize;
public NET_DVR_MATRIX_DECINFO struDecChanInfo;/* å¨æ解ç ééä¿¡æ¯ */
}
[StructLayoutAttribute(LayoutKind.Sequential, CharSet = CharSet.Ansi)]
public struct NET_DVR_MATRIX_DEC_CHAN_STATUS
{
public uint dwSize;
public uint dwIsLinked;/* 解ç ééç¶æ 0ï¼ä¼ç 1ï¼æ£å¨è¿æ¥ 2ï¼å·²è¿æ¥ 3-æ£å¨è§£ç */
public uint dwStreamCpRate;/* Stream copy rate, X kbits/second */
[MarshalAsAttribute(UnmanagedType.ByValTStr, SizeConst = 64)]
public string cRes;/* ä¿ç */
}
[StructLayoutAttribute(LayoutKind.Sequential, CharSet = CharSet.Ansi)]
public struct NET_DVR_MATRIX_DEC_CHAN_INFO
{
public uint dwSize;
public NET_DVR_MATRIX_DECINFO struDecChanInfo;/* 解ç ééä¿¡æ¯ */
public uint dwDecState;/* 0-å¨æ解ç 1ï¼å¾ªç¯è§£ç 2ï¼ææ¶é´åæ¾ 3ï¼ææ件åæ¾ */
public NET_DVR_TIME StartTime;/* ææ¶é´åæ¾å¼å§æ¶é´ */
public NET_DVR_TIME StopTime;/* ææ¶é´åæ¾åæ¢æ¶é´ */
[MarshalAsAttribute(UnmanagedType.ByValTStr, SizeConst = 128)]
public string sFileName;/* ææ件åæ¾æ件å */
}
//è¿æ¥çééé
ç½® 2007-11-05
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_MATRIX_DECCHANINFO
{
public uint dwEnable;/* æ¯å¦å¯ç¨ 0ï¼å¦ 1ï¼å¯ç¨*/
public NET_DVR_MATRIX_DECINFO struDecChanInfo;/* 轮循解ç ééä¿¡æ¯ */
}
//2007-11-05 æ°å¢æ¯ä¸ªè§£ç ééçé
ç½®
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_MATRIX_LOOP_DECINFO
{
public uint dwSize;
public uint dwPoolTime;/*轮巡æ¶é´ */
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_CYCLE_CHAN, ArraySubType = UnmanagedType.Struct)]
public NET_DVR_MATRIX_DECCHANINFO[] struchanConInfo;
}
//2007-12-22
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct TTY_CONFIG
{
public byte baudrate;/* æ³¢ç¹ç */
public byte databits;/* æ°æ®ä½ */
public byte stopbits;/* åæ¢ä½ */
public byte parity;/* å¥å¶æ ¡éªä½ */
public byte flowcontrol;/* æµæ§ */
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 3, ArraySubType = UnmanagedType.I1)]
public byte[] res;
}
[StructLayoutAttribute(LayoutKind.Sequential, CharSet = CharSet.Ansi)]
public struct NET_DVR_MATRIX_TRAN_CHAN_INFO
{
public byte byTranChanEnable;/* å½åéæééæ¯å¦æå¼ 0ï¼å
³é 1ï¼æå¼ */
/*
* å¤è·¯è§£ç å¨æ¬å°æ1个485串å£ï¼1个232串å£é½å¯ä»¥ä½ä¸ºéæéé,设å¤å·åé
å¦ä¸ï¼
* 0 RS485
* 1 RS232 Console
*/
public byte byLocalSerialDevice;/* Local serial device */
/*
* è¿ç¨ä¸²å£è¾åºè¿æ¯ä¸¤ä¸ª,ä¸ä¸ªRS232ï¼ä¸ä¸ªRS485
* 1表示232串å£
* 2表示485串å£
*/
public byte byRemoteSerialDevice;/* Remote output serial device */
public byte res1;/* ä¿ç */
[MarshalAsAttribute(UnmanagedType.ByValTStr, SizeConst = 16)]
public string sRemoteDevIP;/* Remote Device IP */
public ushort wRemoteDevPort;/* Remote Net Communication Port */
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 2, ArraySubType = UnmanagedType.I1)]
public byte[] res2;/* ä¿ç */
public TTY_CONFIG RemoteSerialDevCfg;
}
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_MATRIX_TRAN_CHAN_CONFIG
{
public uint dwSize;
public byte by232IsDualChan;/* 设置åªè·¯232éæééæ¯å
¨åå·¥ç åå¼1å°MAX_SERIAL_NUM */
public byte by485IsDualChan;/* 设置åªè·¯485éæééæ¯å
¨åå·¥ç åå¼1å°MAX_SERIAL_NUM */
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 2, ArraySubType = UnmanagedType.I1)]
public byte[] res;/* ä¿ç */
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_SERIAL_NUM, ArraySubType = UnmanagedType.Struct)]
public NET_DVR_MATRIX_TRAN_CHAN_INFO[] struTranInfo;/*åæ¶æ¯æ建ç«MAX_SERIAL_NUM个éæéé*/
}
//2007-12-24 Merry Christmas Eve...
[StructLayoutAttribute(LayoutKind.Sequential, CharSet = CharSet.Ansi)]
public struct NET_DVR_MATRIX_DEC_REMOTE_PLAY
{
public uint dwSize;
[MarshalAsAttribute(UnmanagedType.ByValTStr, SizeConst = 16)]
public string sDVRIP;/* DVR IPå°å */
public ushort wDVRPort;/* 端å£å· */
public byte byChannel;/* ééå· */
public byte byReserve;
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = NAME_LEN, ArraySubType = UnmanagedType.I1)]
public byte[] sUserName;/* ç¨æ·å */
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = PASSWD_LEN, ArraySubType = UnmanagedType.I1)]
public byte[] sPassword;/* å¯ç */
public uint dwPlayMode;/* 0ï¼ææ件 1ï¼ææ¶é´*/
public NET_DVR_TIME StartTime;
public NET_DVR_TIME StopTime;
[MarshalAsAttribute(UnmanagedType.ByValTStr, SizeConst = 128)]
public string sFileName;
}
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_MATRIX_DEC_REMOTE_PLAY_CONTROL
{
public uint dwSize;
public uint dwPlayCmd;/* ææ¾å½ä»¤ è§æ件ææ¾å½ä»¤*/
public uint dwCmdParam;/* ææ¾å½ä»¤åæ° */
}
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_MATRIX_DEC_REMOTE_PLAY_STATUS
{
public uint dwSize;
public uint dwCurMediaFileLen;/* å½åææ¾çåªä½æ件é¿åº¦ */
public uint dwCurMediaFilePosition;/* å½åææ¾æ件çææ¾ä½ç½® */
public uint dwCurMediaFileDuration;/* å½åææ¾æ件çæ»æ¶é´ */
public uint dwCurPlayTime;/* å½åå·²ç»ææ¾çæ¶é´ */
public uint dwCurMediaFIleFrames;/* å½åææ¾æ件çæ»å¸§æ° */
public uint dwCurDataType;/* å½åä¼ è¾çæ°æ®ç±»åï¼19-æ件头ï¼20-æµæ°æ®ï¼ 21-ææ¾ç»ææ å¿ */
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 72, ArraySubType = UnmanagedType.I1)]
public byte[] res;
}
//2009-4-11 added by likui å¤è·¯è§£ç å¨new
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_MATRIX_PASSIVEMODE
{
public ushort wTransProtol;//ä¼ è¾åè®®ï¼0-TCP, 1-UDP, 2-MCAST
public ushort wPassivePort;//UDP端å£, TCPæ¶é»è®¤
// char sMcastIP[16]; //TCP,UDPæ¶æ æ, MCASTæ¶ä¸ºå¤æå°å
public NET_DVR_IPADDR struMcastIP;
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 8, ArraySubType = UnmanagedType.I1)]
public byte[] res;
}
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_MATRIX_TRAN_CHAN_INFO_V30
{
public byte byTranChanEnable;/* å½åéæééæ¯å¦æå¼ 0ï¼å
³é 1ï¼æå¼ */
/*
* å¤è·¯è§£ç å¨æ¬å°æ1个485串å£ï¼1个232串å£é½å¯ä»¥ä½ä¸ºéæéé,设å¤å·åé
å¦ä¸ï¼
* 0 RS485
* 1 RS232 Console
*/
public byte byLocalSerialDevice;/* Local serial device */
/*
* è¿ç¨ä¸²å£è¾åºè¿æ¯ä¸¤ä¸ª,ä¸ä¸ªRS232ï¼ä¸ä¸ªRS485
* 1表示232串å£
* 2表示485串å£
*/
public byte byRemoteSerialDevice;/* Remote output serial device */
public byte byRes1;/* ä¿ç */
public NET_DVR_IPADDR struRemoteDevIP;/* Remote Device IP */
public ushort wRemoteDevPort;/* Remote Net Communication Port */
public byte byIsEstablished;/* éæéé建ç«æåæ å¿ï¼0-没ææåï¼1-建ç«æå */
public byte byRes2;/* ä¿ç */
public TTY_CONFIG RemoteSerialDevCfg;
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = NAME_LEN, ArraySubType = UnmanagedType.I1)]
public byte[] byUsername;/* 32BYTES */
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = PASSWD_LEN, ArraySubType = UnmanagedType.I1)]
public byte[] byPassword;/* 16BYTES */
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 16, ArraySubType = UnmanagedType.I1)]
public byte[] byRes3;
}
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_MATRIX_TRAN_CHAN_CONFIG_V30
{
public uint dwSize;
public byte by232IsDualChan;/* 设置åªè·¯232éæééæ¯å
¨åå·¥ç åå¼1å°MAX_SERIAL_NUM */
public byte by485IsDualChan;/* 设置åªè·¯485éæééæ¯å
¨åå·¥ç åå¼1å°MAX_SERIAL_NUM */
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 2, ArraySubType = UnmanagedType.I1)]
public byte[] vyRes;/* ä¿ç */
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_SERIAL_NUM, ArraySubType = UnmanagedType.Struct)]
public NET_DVR_MATRIX_TRAN_CHAN_INFO[] struTranInfo;/*åæ¶æ¯æ建ç«MAX_SERIAL_NUM个éæéé*/
}
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_MATRIX_CHAN_INFO_V30
{
public uint dwEnable;/* æ¯å¦å¯ç¨ 0ï¼å¦ 1ï¼å¯ç¨*/
public NET_DVR_STREAM_MEDIA_SERVER_CFG streamMediaServerCfg;
public NET_DVR_DEV_CHAN_INFO struDevChanInfo;/* 轮循解ç ééä¿¡æ¯ */
}
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_MATRIX_LOOP_DECINFO_V30
{
public uint dwSize;
public uint dwPoolTime;
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_CYCLE_CHAN_V30, ArraySubType = UnmanagedType.Struct)]
public NET_DVR_MATRIX_CHAN_INFO_V30[] struchanConInfo;
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 16, ArraySubType = UnmanagedType.I1)]
public byte[] byRes;
}
[StructLayoutAttribute(LayoutKind.Sequential, CharSet = CharSet.Ansi)]
public struct NET_DVR_MATRIX_DEC_CHAN_INFO_V30
{
public uint dwSize;
public NET_DVR_STREAM_MEDIA_SERVER_CFG streamMediaServerCfg;/*æµåªä½æå¡å¨é
ç½®*/
public NET_DVR_DEV_CHAN_INFO struDevChanInfo;/* 解ç ééä¿¡æ¯ */
public uint dwDecState;/* 0-å¨æ解ç 1ï¼å¾ªç¯è§£ç 2ï¼ææ¶é´åæ¾ 3ï¼ææ件åæ¾ */
public NET_DVR_TIME StartTime;/* ææ¶é´åæ¾å¼å§æ¶é´ */
public NET_DVR_TIME StopTime;/* ææ¶é´åæ¾åæ¢æ¶é´ */
[MarshalAsAttribute(UnmanagedType.ByValTStr, SizeConst = 128)]
public string sFileName;/* ææ件åæ¾æ件å */
public uint dwGetStreamMode;/*åæµæ¨¡å¼:1-主å¨ï¼2-被å¨*/
public NET_DVR_MATRIX_PASSIVEMODE struPassiveMode;
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 32, ArraySubType = UnmanagedType.I1)]
public byte[] byRes;
}
public const int MAX_RESOLUTIONNUM = 64; //æ¯æçæ大å辨çæ°ç®
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_MATRIX_ABILITY
{
public uint dwSize;
public byte byDecNums;
public byte byStartChan;
public byte byVGANums;
public byte byBNCNums;
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 8*12, ArraySubType = UnmanagedType.I1)]
public byte[] byVGAWindowMode;/*VGAæ¯æççªå£æ¨¡å¼*/
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 4, ArraySubType = UnmanagedType.I1)]
public byte[] byBNCWindowMode;/*BNCæ¯æççªå£æ¨¡å¼*/
public byte byDspNums;
public byte byHDMINums;//HDMIæ¾ç¤ºéé个æ°ï¼ä»25å¼å§ï¼
public byte byDVINums;//DVIæ¾ç¤ºéé个æ°ï¼ä»29å¼å§ï¼
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 13, ArraySubType = UnmanagedType.I1)]
public byte[] byRes1;
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_RESOLUTIONNUM, ArraySubType = UnmanagedType.I1)]
public byte[] bySupportResolution;//æç
§ä¸é¢çæ举å®ä¹,ä¸ä¸ªåè代表ä¸ä¸ªå辨çæ¯//å¦æ¯æï¼1ï¼æ¯æï¼0ï¼ä¸æ¯æ
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 4*8, ArraySubType = UnmanagedType.I1)]
public byte[] byHDMIWindowMode;//HDMIæ¯æççªå£æ¨¡å¼
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 4*8, ArraySubType = UnmanagedType.I1)]
public byte[] byDVIWindowMode;//DVIæ¯æççªå£æ¨¡å¼
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 24, ArraySubType = UnmanagedType.I1)]
public byte[] byRes2;
}
//ä¸ä¼ logoç»æ
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_DISP_LOGOCFG
{
public uint dwCorordinateX;//å¾çæ¾ç¤ºåºåXåæ
public uint dwCorordinateY;//å¾çæ¾ç¤ºåºåYåæ
public ushort wPicWidth; //å¾ç宽
public ushort wPicHeight; //å¾çé«
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 4, ArraySubType = UnmanagedType.I1)]
public byte[] byRes1;
public byte byFlash;//æ¯å¦éªç1-éªçï¼0-ä¸éªç
public byte byTranslucent;//æ¯å¦åéæ1-åéæï¼0-ä¸åéæ
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 6, ArraySubType = UnmanagedType.I1)]
public byte[] byRes2;//ä¿ç
public uint dwLogoSize;//LOGO大å°ï¼å
æ¬BMPçæ件头
}
/*ç¼ç ç±»å*/
public const int NET_DVR_ENCODER_UNKOWN = 0;/*æªç¥ç¼ç æ ¼å¼*/
public const int NET_DVR_ENCODER_H264 = 1;/*HIK 264*/
public const int NET_DVR_ENCODER_S264 = 2;/*Standard H264*/
public const int NET_DVR_ENCODER_MPEG4 = 3;/*MPEG4*/
public const int NET_DVR_ORIGINALSTREAM = 4;/*Original Stream*/
public const int NET_DVR_PICTURE = 5;//*Picture*/
public const int NET_DVR_ENCODER_MJPEG = 6;
public const int NET_DVR_ECONDER_MPEG2 = 7;
/* æå
æ ¼å¼ */
public const int NET_DVR_STREAM_TYPE_UNKOWN = 0;/*æªç¥æå
æ ¼å¼*/
public const int NET_DVR_STREAM_TYPE_HIKPRIVT = 1; /*海康èªå®ä¹æå
æ ¼å¼*/
public const int NET_DVR_STREAM_TYPE_TS = 7;/* TSæå
*/
public const int NET_DVR_STREAM_TYPE_PS = 8;/* PSæå
*/
public const int NET_DVR_STREAM_TYPE_RTP = 9;/* RTPæå
*/
/*解ç ééç¶æ*/
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_MATRIX_CHAN_STATUS
{
public byte byDecodeStatus;/*å½åç¶æ:0:æªå¯å¨ï¼1ï¼å¯å¨è§£ç */
public byte byStreamType;/*ç æµç±»å*/
public byte byPacketType;/*æå
æ¹å¼*/
public byte byRecvBufUsage;/*æ¥æ¶ç¼å²ä½¿ç¨ç*/
public byte byDecBufUsage;/*解ç ç¼å²ä½¿ç¨ç*/
public byte byFpsDecV;/*è§é¢è§£ç 帧ç*/
public byte byFpsDecA;/*é³é¢è§£ç 帧ç*/
public byte byCpuLoad;/*DSP CPU使ç¨ç*/
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 4, ArraySubType = UnmanagedType.I1)]
public byte[] byRes1;
public uint dwDecodedV;/*解ç çè§é¢å¸§*/
public uint dwDecodedA;/*解ç çé³é¢å¸§*/
public ushort wImgW;/*解ç å¨å½åçå¾å大å°,宽*/
public ushort wImgH; //é«
public byte byVideoFormat;/*è§é¢å¶å¼:0-NON,NTSC--1,PAL--2*/
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 3, ArraySubType = UnmanagedType.I1)]
public byte[] byRes2;
public uint dwDecChan; /*è·åå
¨é¨è§£ç ééç¶ææ¶ææï¼è®¾ç½®æ¶å¯å¡«0*/
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 20, ArraySubType = UnmanagedType.I1)]
public byte[] byRes3;
}
/*æ¾ç¤ºééç¶æ*/
public const int NET_DVR_MAX_DISPREGION = 16; /*æ¯ä¸ªæ¾ç¤ºééæå¤å¯ä»¥æ¾ç¤ºççªå£*/
//VGAå辨çï¼ç®åè½ç¨çæ¯ï¼VGA_THS8200_MODE_XGA_60HZãVGA_THS8200_MODE_SXGA_60HZã
//
public enum VGA_MODE
{
/*VGA*/
VGA_NOT_AVALIABLE,
VGA_THS8200_MODE_SVGA_60HZ, //(800*600)
VGA_THS8200_MODE_SVGA_75HZ, //(800*600)
VGA_THS8200_MODE_XGA_60HZ, //(1024*768)
VGA_THS8200_MODE_XGA_75HZ, //(1024*768)
VGA_THS8200_MODE_SXGA_60HZ, //(1280*1024)
VGA_THS8200_MODE_720P_60HZ, //(1280*720)
VGA_THS8200_MODE_1080I_60HZ, //(1920*1080)
VGA_THS8200_MODE_1080P_30HZ, //(1920*1080)
VGA_THS8200_MODE_UXGA_30HZ, //(1600*1200)
/*HDMI*/
HDMI_SII9134_MODE_XGA_60HZ, //(1024*768)
HDMI_SII9134_MODE_SXGA_60HZ, //(1280*1024)
HDMI_SII9134_MODE_SXGA2_60HZ, //(1280*960)
HDMI_SII9134_MODE_720P_60HZ, //(1280*720)
HDMI_SII9134_MODE_720P_50HZ, //(1280*720)
HDMI_SII9134_MODE_1080I_60HZ, //(1920*1080)
HDMI_SII9134_MODE_1080I_50HZ, //(1920*1080)
HDMI_SII9134_MODE_1080P_25HZ, //(1920*1080)
HDMI_SII9134_MODE_1080P_30HZ, //(1920*1080)
HDMI_SII9134_MODE_1080P_50HZ, //(1920*1080)
HDMI_SII9134_MODE_1080P_60HZ, //(1920*1080)
HDMI_SII9134_MODE_UXGA_60HZ, //(1600*1200)
/*DVI*/
DVI_SII9134_MODE_XGA_60HZ, //(1024*768)
DVI_SII9134_MODE_SXGA_60HZ, //(1280*1024)
DVI_SII9134_MODE_SXGA2_60HZ, //(1280*960)
DVI_SII9134_MODE_720P_60HZ, //(1280*720)
DVI_SII9134_MODE_720P_50HZ, //(1280*720)
DVI_SII9134_MODE_1080I_60HZ, //(1920*1080)
DVI_SII9134_MODE_1080I_50HZ, //(1920*1080)
DVI_SII9134_MODE_1080P_25HZ, //(1920*1080)
DVI_SII9134_MODE_1080P_30HZ, //(1920*1080)
DVI_SII9134_MODE_1080P_50HZ, //(1920*1080)
DVI_SII9134_MODE_1080P_60HZ, //(1920*1080)
DVI_SII9134_MODE_UXGA_60HZ, //(1600*1200)
VGA_DECSVR_MODE_SXGA2_60HZ,
HDMI_DECSVR_MODE_1080P_24HZ,
DVI_DECSVR_MODE_1080P_24HZ,
YPbPr_DECSVR_MODE_720P_60HZ,
YPbPr_DECSVR_MODE_1080I_60HZ
}
//ä½å¸§çå®ä¹
public const int LOW_DEC_FPS_1_2 = 51;
public const int LOW_DEC_FPS_1_4 = 52;
public const int LOW_DEC_FPS_1_8 = 53;
public const int LOW_DEC_FPS_1_16 = 54;
/*è§é¢å¶å¼æ å*/
public enum VIDEO_STANDARD
{
VS_NON = 0,
VS_NTSC = 1,
VS_PAL = 2,
}
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct UNION_VIDEOPLATFORM
{
/*å个åçªå£å¯¹åºè§£ç ééæ对åºç解ç åç³»ç»ç槽ä½å·(对äºè§é¢ç»¼åå¹³å°ä¸è§£ç åç³»ç»ææ)*/
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_WINDOWS, ArraySubType = UnmanagedType.I1)]
public byte[] byJoinDecoderId;
}
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct UNION_NOTVIDEOPLATFORM
{
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 16, ArraySubType = UnmanagedType.I1)]
public byte[] byRes;
}
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_VGA_DISP_CHAN_CFG
{
public uint dwSize;
public byte byAudio;/*é³é¢æ¯å¦å¼å¯,0-å¦ï¼1-æ¯*/
public byte byAudioWindowIdx;/*é³é¢å¼å¯åçªå£*/
public byte byVgaResolution;/*VGAçå辨ç*/
public byte byVedioFormat;/*è§é¢å¶å¼ï¼1:NTSC,2:PAL,0-NON*/
public uint dwWindowMode;/*ç»é¢æ¨¡å¼ï¼ä»è½åééè·åï¼ç®åæ¯æ1,2,4,9,16*/
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_WINDOWS, ArraySubType = UnmanagedType.I1)]
public byte[] byJoinDecChan;/*å个åçªå£å
³èç解ç éé*/
public byte byEnlargeStatus; /*æ¯å¦å¤äºæ¾å¤§ç¶æï¼0ï¼ä¸æ¾å¤§ï¼1ï¼æ¾å¤§*/
public byte byEnlargeSubWindowIndex;//æ¾å¤§çåçªå£å·
[StructLayoutAttribute(LayoutKind.Explicit)]
public struct struDiff
{
[FieldOffsetAttribute(0)]
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 16, ArraySubType = UnmanagedType.I1)]
public byte[] byRes;
[FieldOffsetAttribute(0)]
public UNION_VIDEOPLATFORM struVideoPlatform;
[FieldOffsetAttribute(0)]
public UNION_NOTVIDEOPLATFORM struNotVideoPlatform;
}
public byte byUnionType;/*åºåå
±ç¨ä½ï¼0-è§é¢ç»¼åå¹³å°å
é¨è§£ç å¨æ¾ç¤ºééé
ç½®ï¼1-å
¶ä»è§£ç å¨æ¾ç¤ºééé
ç½®*/
public byte byScale; /*æ¾ç¤ºæ¨¡å¼ï¼0---çå®æ¾ç¤ºï¼1---缩æ¾æ¾ç¤º( é对BNC )*/
}
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_DISP_CHAN_STATUS
{
public byte byDispStatus;/*æ¾ç¤ºç¶æï¼0ï¼æªæ¾ç¤ºï¼1ï¼å¯å¨æ¾ç¤º*/
public byte byBVGA; /*VGA/BNC*/
public byte byVideoFormat;/*è§é¢å¶å¼:1:NTSC,2:PAL,0-NON*/
public byte byWindowMode;/*å½åç»é¢æ¨¡å¼*/
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_WINDOWS, ArraySubType = UnmanagedType.I1)]
public byte[] byJoinDecChan;/*å个åçªå£å
³èç解ç éé*/
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = NET_DVR_MAX_DISPREGION, ArraySubType = UnmanagedType.I1)]
public byte[] byFpsDisp;/*æ¯ä¸ªåç»é¢çæ¾ç¤ºå¸§ç*/
public byte byScreenMode; //å±å¹æ¨¡å¼0-æ®é 1-大å±
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 31, ArraySubType = UnmanagedType.I1)]
public byte[] byRes2;
}
public const int MAX_DECODECHANNUM = 32;//å¤è·¯è§£ç å¨æ大解ç ééæ°
public const int MAX_DISPCHANNUM = 24;//å¤è·¯è§£ç å¨æ大æ¾ç¤ºééæ°
/*解ç å¨è®¾å¤ç¶æ*/
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_DECODER_WORK_STATUS
{
public uint dwSize;
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_DECODECHANNUM, ArraySubType = UnmanagedType.Struct)]
public NET_DVR_MATRIX_CHAN_STATUS[] struDecChanStatus;/*解ç ééç¶æ*/
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_DISPCHANNUM, ArraySubType = UnmanagedType.Struct)]
public NET_DVR_DISP_CHAN_STATUS[] struDispChanStatus;/*æ¾ç¤ºééç¶æ*/
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_ANALOG_ALARMIN, ArraySubType = UnmanagedType.I1)]
public byte[] byAlarmInStatus;/*æ¥è¦è¾å
¥ç¶æ*/
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_ANALOG_ALARMOUT, ArraySubType = UnmanagedType.I1)]
public byte[] byAalarmOutStatus;/*æ¥è¦è¾åºç¶æ*/
public byte byAudioInChanStatus;/*è¯é³å¯¹è®²ç¶æ*/
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 127, ArraySubType = UnmanagedType.I1)]
public byte[] byRes;
}
//2009-12-1 å¢å 被å¨è§£ç ææ¾æ§å¶
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_PASSIVEDECODE_CONTROL
{
public uint dwSize;
public uint dwPlayCmd; /* ææ¾å½ä»¤ è§æ件ææ¾å½ä»¤*/
public uint dwCmdParam; /* ææ¾å½ä»¤åæ° */
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 16, ArraySubType = UnmanagedType.I1)]
public byte[] byRes;//Reverse
}
public const int PASSIVE_DEC_PAUSE = 1; /*被å¨è§£ç æå(ä»
æ件æµææ)*/
public const int PASSIVE_DEC_RESUME = 2; /*æ¢å¤è¢«å¨è§£ç (ä»
æ件æµææ)*/
public const int PASSIVE_DEC_FAST = 3; /*å¿«é被å¨è§£ç (ä»
æ件æµææ)*/
public const int PASSIVE_DEC_SLOW = 4; /*æ
¢é被å¨è§£ç (ä»
æ件æµææ)*/
public const int PASSIVE_DEC_NORMAL = 5; /*æ£å¸¸è¢«å¨è§£ç (ä»
æ件æµææ)*/
public const int PASSIVE_DEC_ONEBYONE = 6; /*被å¨è§£ç å帧ææ¾(ä¿ç)*/
public const int PASSIVE_DEC_AUDIO_ON = 7; /*é³é¢å¼å¯*/
public const int PASSIVE_DEC_AUDIO_OFF = 8; /*é³é¢å
³é*/
public const int PASSIVE_DEC_RESETBUFFER = 9; /*æ¸
空ç¼å²åº*/
//2009-12-16 å¢å æ§å¶è§£ç å¨è§£ç éé缩æ¾
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_MATRIX_DECCHAN_CONTROL
{
public uint dwSize;
public byte byDecChanScaleStatus;/*解ç ééæ¾ç¤ºç¼©æ¾æ§å¶,1表示缩æ¾æ¾ç¤ºï¼0表示çå®æ¾ç¤º*/
public byte byDecodeDelay;//解ç 延æ¶ï¼0-é»è®¤ï¼1-å®æ¶æ§å¥½ï¼2-å®æ¶æ§è¾å¥½ï¼3-å®æ¶æ§ä¸ï¼æµç
æ§ä¸ï¼4-æµç
æ§è¾å¥½ï¼5-æµç
æ§å¥½ï¼0xff-èªå¨è°æ´
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 66, ArraySubType = UnmanagedType.I1)]
public byte[] byRes;
}
/************************************å¤è·¯è§£ç å¨(end)***************************************/
/************************************è§é¢ç»¼åå¹³å°(begin)***************************************/
public const int MAX_SUBSYSTEM_NUM = 80; //ä¸ä¸ªç©éµç³»ç»ä¸æå¤åç³»ç»æ°é
public const int MAX_SUBSYSTEM_NUM_V40 = 120; //ä¸ä¸ªç©éµç³»ç»ä¸æå¤åç³»ç»æ°é
public const int MAX_SERIALLEN = 36; //æ大åºåå·é¿åº¦
public const int MAX_LOOPPLANNUM = 16; //æ大计ååæ¢ç»
public const int DECODE_TIMESEGMENT = 4; //计å解ç æ¯å¤©æ¶é´æ®µæ°
public const int MAX_DOMAIN_NAME = 64; /* æ大ååé¿åº¦ */
public const int MAX_DISKNUM_V30 = 33; //9000设å¤æ大硬çæ°/* æå¤33个硬ç(å
æ¬16个å
ç½®SATA硬çã1个eSATA硬çå16个NFSç) */
public const int MAX_DAYS = 7; //æ¯å¨å¤©æ°
public const int MAX_DISPNUM_V41 = 32;
public const int MAX_WINDOWS_NUM = 12;
public const int MAX_VOUTNUM = 32;
public const int MAX_SUPPORT_RES = 32;
public const int MAX_BIGSCREENNUM = 100;
public const int VIDEOPLATFORM_ABILITY = 0x210; //è§é¢ç»¼åå¹³å°è½åé
public const int MATRIXDECODER_ABILITY_V41 = 0x260; //解ç å¨è½åé
public const int NET_DVR_MATRIX_BIGSCREENCFG_GET = 1140;//è·å大å±æ¼æ¥åæ°
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_SUBSYSTEMINFO
{
public byte bySubSystemType;//åç³»ç»ç±»åï¼1-解ç ç¨åç³»ç»ï¼2-ç¼ç ç¨åç³»ç»ï¼0-NULLï¼æ¤åæ°åªè½è·åï¼
public byte byChan;//åç³»ç»ééæ°ï¼æ¤åæ°åªè½è·åï¼
public byte byLoginType;//注åç±»åï¼1-ç´è¿ï¼2-DNSï¼3-è±ç壳
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 5, ArraySubType = UnmanagedType.I1)]
public byte[] byRes1;
public NET_DVR_IPADDR struSubSystemIP;/*IPå°åï¼å¯ä¿®æ¹ï¼*/
public ushort wSubSystemPort;//åç³»ç»ç«¯å£å·ï¼å¯ä¿®æ¹ï¼
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 6, ArraySubType = UnmanagedType.I1)]
public byte[] byRes2;
public NET_DVR_IPADDR struSubSystemIPMask;//åç½æ©ç
public NET_DVR_IPADDR struGatewayIpAddr; /* ç½å
³å°å*/
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = NAME_LEN, ArraySubType = UnmanagedType.I1)]
public byte[] sUserName;/* ç¨æ·å ï¼æ¤åæ°åªè½è·åï¼*/
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = PASSWD_LEN, ArraySubType = UnmanagedType.I1)]
public byte[] sPassword;/*å¯ç ï¼æ¤åæ°åªè½è·åï¼*/
[MarshalAsAttribute(UnmanagedType.ByValTStr, SizeConst = MAX_DOMAIN_NAME)]
public string sDomainName;//åå(å¯ä¿®æ¹)
[MarshalAsAttribute(UnmanagedType.ByValTStr, SizeConst = MAX_DOMAIN_NAME)]
public string sDnsAddress;/*DNSååæIPå°å*/
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = SERIALNO_LEN, ArraySubType = UnmanagedType.I1)]
public byte[] sSerialNumber;//åºåå·ï¼æ¤åæ°åªè½è·åï¼
}
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_ALLSUBSYSTEMINFO
{
public uint dwSize;
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_SUBSYSTEM_NUM, ArraySubType = UnmanagedType.Struct)]
public NET_DVR_SUBSYSTEMINFO[] struSubSystemInfo;
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 8, ArraySubType = UnmanagedType.I1)]
public byte[] byRes;
}
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_LOOPPLAN_SUBCFG
{
public uint dwSize;
public uint dwPoolTime; /*轮询é´éï¼åä½ï¼ç§*/
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_CYCLE_CHAN_V30, ArraySubType = UnmanagedType.Struct)]
public NET_DVR_MATRIX_CHAN_INFO_V30[] struChanConInfo;
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 16, ArraySubType = UnmanagedType.I1)]
public byte[] byRes;
}
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_ALARMMODECFG
{
public uint dwSize;
public byte byAlarmMode;//æ¥è¦è§¦åç±»åï¼1-轮询ï¼2-ä¿æ
public ushort wLoopTime;//轮询æ¶é´, åä½ï¼ç§
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 9, ArraySubType = UnmanagedType.I1)]
public byte[] byRes;
}
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_CODESPLITTERINFO
{
public uint dwSize;
public NET_DVR_IPADDR struIP;/*ç åå¨IPå°å*/
public ushort wPort;//ç åå¨ç«¯å£å·
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 6, ArraySubType = UnmanagedType.I1)]
public byte[] byRes1;
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = NAME_LEN, ArraySubType = UnmanagedType.I1)]
public byte[] sUserName;/* ç¨æ·å */
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = PASSWD_LEN, ArraySubType = UnmanagedType.I1)]
public byte[] sPassword;/*å¯ç */
public byte byChan;//ç åå¨485å·
public byte by485Port;//485å£å°å
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 14, ArraySubType = UnmanagedType.I1)]
public byte[] byRes2;
}
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_ASSOCIATECFG
{
public byte byAssociateType;//å
³èç±»åï¼1-æ¥è¦
public ushort wAlarmDelay;//æ¥è¦å»¶æ¶ï¼0ï¼5ç§ï¼1ï¼10ç§ï¼2ï¼30ç§ï¼3ï¼1åéï¼4ï¼2åéï¼5ï¼5åéï¼6ï¼10åéï¼
public byte byAlarmNum;//æ¥è¦å·ï¼å
·ä½çå¼ç±åºç¨èµï¼ç¸åçæ¥è¦èµç¸åçå¼
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 8, ArraySubType = UnmanagedType.I1)]
public byte[] byRes;
}
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_DYNAMICDECODE
{
public uint dwSize;
public NET_DVR_ASSOCIATECFG struAssociateCfg;//触åå¨æ解ç å
³èç»æ
public NET_DVR_PU_STREAM_CFG struPuStreamCfg;//å¨æ解ç ç»æ
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 8, ArraySubType = UnmanagedType.I1)]
public byte[] byRes;
}
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_DECODESCHED
{
public NET_DVR_SCHEDTIME struSchedTime;
public byte byDecodeType;/*0-æ ï¼1-轮询解ç ï¼2-å¨æ解ç */
public byte byLoopGroup;//轮询ç»å·
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 6, ArraySubType = UnmanagedType.I1)]
public byte[] byRes;
public NET_DVR_PU_STREAM_CFG struDynamicDec;//å¨æ解ç
}
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_PLANDECODE
{
public uint dwSize;
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_DAYS * DECODE_TIMESEGMENT, ArraySubType = UnmanagedType.I1)]
public NET_DVR_DECODESCHED[] struDecodeSched;//å¨ä¸ä½ä¸ºå¼å§ï¼å9000ä¸è´
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 8, ArraySubType = UnmanagedType.I1)]
public byte[] byres;
}
/************************************è§é¢ç»¼åå¹³å°(end)***************************************/
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_VIDEOPLATFORM_ABILITY
{
public uint dwSize;
public byte byCodeSubSystemNums;//ç¼ç åç³»ç»æ°é
public byte byDecodeSubSystemNums;//解ç åç³»ç»æ°é
[System.Runtime.InteropServices.MarshalAsAttribute(System.Runtime.InteropServices.UnmanagedType.ByValArray, SizeConst = 12, ArraySubType = System.Runtime.InteropServices.UnmanagedType.I1)]
public byte[] byWindowMode; /*æ¾ç¤ºééæ¯æççªå£æ¨¡å¼*/
[System.Runtime.InteropServices.MarshalAsAttribute(System.Runtime.InteropServices.UnmanagedType.ByValArray, SizeConst = 16, ArraySubType = System.Runtime.InteropServices.UnmanagedType.I1)]
public byte[] byRes;
}
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_SUBSYSTEM_ABILITY
{
/*åç³»ç»ç±»åï¼1-解ç ç¨åç³»ç»ï¼2-ç¼ç ç¨åç³»ç»ï¼3-级èè¾åºåç³»ç»ï¼4-级èè¾å
¥åç³»ç»ï¼5-ç åå¨åç³»ç»ï¼6-æ¥è¦ä¸»æºåç³»ç»ï¼7-æºè½åç³»ç»ï¼8-V6解ç åç³»ç»ï¼9-V6åç³»ç»ï¼0-NULLï¼æ¤åæ°åªè½è·åï¼*/
public byte bySubSystemType;
public byte byChanNum;//åç³»ç»ééæ°
public byte byStartChan;//åç³»ç»èµ·å§ééæ°
public byte bySlotNum;//槽ä½å·
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 4, ArraySubType = UnmanagedType.I1)]
public byte[] byRes1;
public struDecoderSystemAbility _struAbility;
}
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct struDecoderSystemAbility
{
public byte byVGANums;//VGAæ¾ç¤ºéé个æ°ï¼ä»1å¼å§ï¼
public byte byBNCNums;//BNCæ¾ç¤ºéé个æ°ï¼ä»9å¼å§ï¼
public byte byHDMINums;//HDMIæ¾ç¤ºéé个æ°ï¼ä»25å¼å§ï¼
public byte byDVINums;//DVIæ¾ç¤ºéé个æ°ï¼ä»29å¼å§ï¼
public byte byLayerNums;//大å±æ¼æ¥ä¸ï¼å主å±æ¶ææ¯æå¾å±æ°
public byte bySpartan;//ç
æ¾åè½ï¼0-ä¸æ¯æï¼1-æ¯æ
public byte byDecType; //解ç åç³»ç»ç±»åï¼0-æ®éå,1-å¢å¼ºå(æ®éååå±æ¶å4çªå£é使ç¨èªèº«èµæºï¼å¢å¼ºåæ æ¤éå¶ï¼å¢å¼ºåæå¤å¯è¢«å
¶ä»åç³»ç»å16è·¯D1解ç èµæº
//å¢å¼ºå被大å±å
³è为åå±åèµæºå¯è¢«åç¨ï¼æ®éååä¸è½è¢«åç¨)
public byte byOutputSwitch;//æ¯å¦æ¯æHDMI/DVIäºç¸åæ¢ï¼0-ä¸æ¯æï¼1-æ¯æ
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 39, ArraySubType = UnmanagedType.I1)]
public byte[] byRes1;
public byte byDecoderType; //解ç æ¿ç±»å 0-æ®é解ç æ¿ 1-ä¸è½è§£ç æ¿
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 152, ArraySubType = UnmanagedType.I1)]
public byte[] byRes2;
}
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct struAbility
{
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 200, ArraySubType = UnmanagedType.I1)]
// [FieldOffsetAttribute(0)]
public byte[] byRes;
}
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_VIDEOPLATFORM_ABILITY_V40
{
public uint dwSize;
public byte byCodeSubSystemNums;
public byte byDecodeSubSystemNums;//解ç åç³»ç»æ°é
public byte bySupportNat;//æ¯å¦æ¯æNATï¼0-ä¸æ¯æï¼1-æ¯æ
public byte byInputSubSystemNums;//级èè¾å
¥åç³»ç»æ°é
public byte byOutputSubSystemNums;//级èè¾åºåç³»ç»æ°é
public byte byCodeSpitterSubSystemNums;//ç ååç³»ç»æ°é
public byte byAlarmHostSubSystemNums;//æ¥è¦åç³»ç»æ°é
public byte bySupportBigScreenNum;//ææ¯ææå¤ç»æ大å±ç个æ°
public byte byVCASubSystemNums;//æºè½åç³»ç»æ°é
public byte byV6SubSystemNums;//V6åç³»ç»æ°é
public byte byV6DecoderSubSystemNums;//V6解ç åç³»ç»æ°é
public byte bySupportBigScreenX;/*大å±æ¼æ¥ç模å¼ï¼mÃn*/
public byte bySupportBigScreenY;
public byte bySupportSceneNums;//æ¯æåºæ¯æ¨¡å¼ç个æ°
public byte byVcaSupportChanMode;//æºè½æ¯æçéé使ç¨æ¨¡å¼ï¼0-使ç¨è§£ç ééï¼1-使ç¨æ¾ç¤ºééååééå·
public byte bySupportScreenNums;//ææ¯æç大å±çå±å¹æ大个æ°
public byte bySupportLayerNums;//ææ¯æçå¾å±æ°ï¼0xff-æ æ
public byte byNotSupportPreview;//æ¯å¦æ¯æé¢è§,1-ä¸æ¯æï¼0-æ¯æ
public byte byNotSupportStorage;//æ¯å¦æ¯æåå¨,1-ä¸æ¯æï¼0-æ¯æ
public byte byUploadLogoMode;//ä¸ä¼ logo模å¼ï¼0-ä¸ä¼ ç»è§£ç ééï¼1-ä¸ä¼ ç»æ¾ç¤ºéé
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_SUBSYSTEM_NUM_V40, ArraySubType = UnmanagedType.Struct)]
public NET_DVR_SUBSYSTEM_ABILITY[] struSubSystemAbility;
public byte by485Nums;//485串å£ä¸ªæ°
public byte by232Nums;//232串å£ä¸ªæ°
public byte bySerieStartChan;//èµ·å§éé
public byte byScreenMode;//大å±æ¨¡å¼ï¼0-主å±ç±å®¢æ·ç«¯åé
ï¼1-主å±ç±è®¾å¤ç«¯åé
public byte byDevVersion;//设å¤çæ¬ï¼0-B10/B11/B12ï¼1-B20
public byte bySupportBaseMapNums;//ææ¯æçåºå¾æ°ï¼åºå¾å·ä»1å¼å§
public ushort wBaseLengthX;//æ¯ä¸ªå±å¤§å°çåºåå¼ï¼B20使ç¨
public ushort wBaseLengthY;
public byte bySupportPictureTrans; //æ¯å¦æ¯æå¾çåæ¾ï¼0-ä¸æ¯æï¼1-æ¯æ
public byte bySupportPreAllocDec; //æ¯å¦æ¯ææºè½è§£ç èµæºé¢åé
ï¼0-ä¸æ¯æï¼1-æ¯æ
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 628, ArraySubType = UnmanagedType.I1)]
public byte[] byRes2;
}
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_SINGLESCREENCFG
{
public byte byScreenSeq;//å±å¹åºå·ï¼0xff表示ä¸ç¨æ¤å±,64-T解ç å¨ç¬¬ä¸ä¸ªè¡¨ç¤ºä¸»å±
public byte bySubSystemNum;//解ç åç³»ç»æ§½ä½å·,解ç å¨æ¤å¼æ²¡æç¨
public byte byDispNum;//解ç åç³»ç»ä¸å¯¹åºæ¾ç¤ºééå·ï¼64-T解ç å¨ä¸è¯¥å¼è¡¨ç¤ºè§£ç å¨çæ¾ç¤ºééå·
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 9, ArraySubType = UnmanagedType.I1)]
public byte[] byRes;
}
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_BIGSCREENCFG
{
public uint dwSize;
public byte byEnable;//大å±æ¼æ¥ä½¿è½ï¼0-ä¸ä½¿è½ï¼1-使è½
public byte byModeX;/*大å±æ¼æ¥æ¨¡å¼*/
public byte byModeY;
public byte byMainDecodeSystem;//综åå¹³å°ç解ç æ¿ä¸è¯¥å¼è¡¨ç¤ºä¸»å±æ§½ä½å·ï¼64-T解ç å¨ä¸è¯¥å¼è¡¨ç¤ºè§£ç ééå·
public byte byMainDecoderDispChan;//主å±æç¨æ¾ç¤ºééå·ï¼1.1netraçæ¬æ°å¢ï¼netra解ç å¨æ两个æ¾ç¤ºééï¼é½è½å¤ä½ä¸ºä¸»å±ã64-Tä¸è¯¥å¼æ æ
public byte byVideoStandard; //大å±æ¯ä¸ªåå±å¶å¼ç¸å 1:NTSC,2:PAL
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 2, ArraySubType = UnmanagedType.I1)]
public byte[] byRes1;
public uint dwResolution; //大å±æ¯ä¸ªåå±å辨çç¸å
//大å±æ¼æ¥ä»å±å¹ä¿¡æ¯
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_BIGSCREENNUM, ArraySubType = UnmanagedType.Struct)]
public NET_DVR_SINGLESCREENCFG[] struFollowSingleScreen;
//èµ·å§åæ å¿
须为åºååæ çæ´æ°å
public ushort wBigScreenX; //大å±å¨çµè§å¢ä¸èµ·å§Xåæ
public ushort wBigScreenY; //大å±å¨çµè§å¢ä¸èµ·å§Yåæ
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 12, ArraySubType = UnmanagedType.I1)]
public byte[] byRes2;
public void Init()
{
byRes1 = new byte[2];
struFollowSingleScreen = new NET_DVR_SINGLESCREENCFG[MAX_BIGSCREENNUM];
byRes2 = new byte[12];
}
}
/************************************è§é¢ç»¼åå¹³å°(end)***************************************/
[StructLayoutAttribute(LayoutKind.Sequential, CharSet = CharSet.Ansi)]
public struct NET_DVR_EMAILCFG
{
public uint dwSize;
[MarshalAsAttribute(UnmanagedType.ByValTStr, SizeConst = 32)]
public string sUserName;
[MarshalAsAttribute(UnmanagedType.ByValTStr, SizeConst = 32)]
public string sPassWord;
[MarshalAsAttribute(UnmanagedType.ByValTStr, SizeConst = 32)]
public string sFromName;/* Sender *///å符串ä¸ç第ä¸ä¸ªå符åæåä¸ä¸ªå符ä¸è½æ¯"@",并ä¸å符串ä¸è¦æ"@"å符
[MarshalAsAttribute(UnmanagedType.ByValTStr, SizeConst = 48)]
public string sFromAddr;/* Sender address */
[MarshalAsAttribute(UnmanagedType.ByValTStr, SizeConst = 32)]
public string sToName1;/* Receiver1 */
[MarshalAsAttribute(UnmanagedType.ByValTStr, SizeConst = 32)]
public string sToName2;/* Receiver2 */
[MarshalAsAttribute(UnmanagedType.ByValTStr, SizeConst = 48)]
public string sToAddr1;/* Receiver address1 */
[MarshalAsAttribute(UnmanagedType.ByValTStr, SizeConst = 48)]
public string sToAddr2;/* Receiver address2 */
[MarshalAsAttribute(UnmanagedType.ByValTStr, SizeConst = 32)]
public string sEmailServer;/* Email server address */
public byte byServerType;/* Email server type: 0-SMTP, 1-POP, 2-IMTPâ¦*/
public byte byUseAuthen;/* Email server authentication method: 1-enable, 0-disable */
public byte byAttachment;/* enable attachment */
public byte byMailinterval;/* mail interval 0-2s, 1-3s, 2-4s. 3-5s*/
}
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_COMPRESSIONCFG_NEW
{
public uint dwSize;
public NET_DVR_COMPRESSION_INFO_EX struLowCompression;//å®æ¶å½å
public NET_DVR_COMPRESSION_INFO_EX struEventCompression;//äºä»¶è§¦åå½å
}
//çæºä½ç½®ä¿¡æ¯
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_PTZPOS
{
public ushort wAction;//è·åæ¶è¯¥å段æ æ
public ushort wPanPos;//æ°´å¹³åæ°
public ushort wTiltPos;//åç´åæ°
public ushort wZoomPos;//åååæ°
}
//çæºèå´ä¿¡æ¯
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_PTZSCOPE
{
public ushort wPanPosMin;//æ°´å¹³åæ°min
public ushort wPanPosMax;//æ°´å¹³åæ°max
public ushort wTiltPosMin;//åç´åæ°min
public ushort wTiltPosMax;//åç´åæ°max
public ushort wZoomPosMin;//åååæ°min
public ushort wZoomPosMax;//åååæ°max
}
//rtspé
ç½® ipcameraä¸ç¨
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_RTSPCFG
{
public uint dwSize;//é¿åº¦
public ushort wPort;//rtspæå¡å¨ä¾¦å¬ç«¯å£
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 54, ArraySubType = UnmanagedType.I1)]
public byte[] byReserve;//é¢ç
}
/********************************æ¥å£åæ°ç»æ(begin)*********************************/
//NET_DVR_Login()åæ°ç»æ
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_DEVICEINFO
{
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = SERIALNO_LEN, ArraySubType = UnmanagedType.I1)]
public byte[] sSerialNumber;//åºåå·
public byte byAlarmInPortNum;//DVRæ¥è¦è¾å
¥ä¸ªæ°
public byte byAlarmOutPortNum;//DVRæ¥è¦è¾åºä¸ªæ°
public byte byDiskNum;//DVR硬ç个æ°
public byte byDVRType;//DVRç±»å, 1:DVR 2:ATM DVR 3:DVS ......
public byte byChanNum;//DVR éé个æ°
public byte byStartChan;//èµ·å§ééå·,ä¾å¦DVS-1,DVR - 1
}
//NET_DVR_Login_V30()åæ°ç»æ
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_DEVICEINFO_V30
{
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = SERIALNO_LEN, ArraySubType = UnmanagedType.I1)]
public byte[] sSerialNumber; //åºåå·
public byte byAlarmInPortNum; //æ¥è¦è¾å
¥ä¸ªæ°
public byte byAlarmOutPortNum; //æ¥è¦è¾åºä¸ªæ°
public byte byDiskNum; //硬ç个æ°
public byte byDVRType; //设å¤ç±»å, 1:DVR 2:ATM DVR 3:DVS ......
public byte byChanNum; //模æéé个æ°
public byte byStartChan; //èµ·å§ééå·,ä¾å¦DVS-1,DVR - 1
public byte byAudioChanNum; //è¯é³ééæ°
public byte byIPChanNum; //æ大æ°åéé个æ°ï¼ä½ä½
public byte byZeroChanNum; //é¶ééç¼ç ä¸ªæ° //2010-01-16
public byte byMainProto; //主ç æµä¼ è¾å议类å 0-private, 1-rtsp,2-åæ¶æ¯æprivateårtsp
public byte bySubProto; //åç æµä¼ è¾å议类å0-private, 1-rtsp,2-åæ¶æ¯æprivateårtsp
public byte bySupport; //è½åï¼ä½ä¸ç»æ为0表示ä¸æ¯æï¼1表示æ¯æï¼
//bySupport & 0x1, 表示æ¯å¦æ¯ææºè½æç´¢
//bySupport & 0x2, 表示æ¯å¦æ¯æå¤ä»½
//bySupport & 0x4, 表示æ¯å¦æ¯æå缩åæ°è½åè·å
//bySupport & 0x8, 表示æ¯å¦æ¯æå¤ç½å¡
//bySupport & 0x10, 表示æ¯æè¿ç¨SADP
//bySupport & 0x20, 表示æ¯æRaidå¡åè½
//bySupport & 0x40, 表示æ¯æIPSAN ç®å½æ¥æ¾
//bySupport & 0x80, 表示æ¯ærtp over rtsp
public byte bySupport1; // è½åéæ©å
ï¼ä½ä¸ç»æ为0表示ä¸æ¯æï¼1表示æ¯æ
//bySupport1 & 0x1, 表示æ¯å¦æ¯æsnmp v30
//bySupport1 & 0x2, æ¯æåºååæ¾åä¸è½½
//bySupport1 & 0x4, æ¯å¦æ¯æå¸é²ä¼å
级
//bySupport1 & 0x8, æºè½è®¾å¤æ¯å¦æ¯æå¸é²æ¶é´æ®µæ©å±
//bySupport1 & 0x10, 表示æ¯å¦æ¯æå¤ç£çæ°ï¼è¶
è¿33个ï¼
//bySupport1 & 0x20, 表示æ¯å¦æ¯ærtsp over http
//bySupport1 & 0x80, 表示æ¯å¦æ¯æ车çæ°æ¥è¦ä¿¡æ¯2012-9-28, ä¸è¿è¡¨ç¤ºæ¯å¦æ¯æNET_DVR_IPPARACFG_V40ç»æä½
public byte bySupport2; /*è½åï¼ä½ä¸ç»æ为0表示ä¸æ¯æï¼é0表示æ¯æ
bySupport2 & 0x1, 表示解ç å¨æ¯å¦æ¯æéè¿URLåæµè§£ç
bySupport2 & 0x2, 表示æ¯æFTPV40
bySupport2 & 0x4, 表示æ¯æANR
bySupport2 & 0x8, 表示æ¯æCCDçééåæ°é
ç½®
bySupport2 & 0x10, 表示æ¯æå¸é²æ¥è¦åä¼ ä¿¡æ¯ï¼ä»
æ¯ææææºæ¥è¦ æ°èæ¥è¦ç»æï¼
bySupport2 & 0x20, 表示æ¯å¦æ¯æåç¬è·å设å¤ç¶æå项
bySupport2 & 0x40, 表示æ¯å¦æ¯ç æµå å¯è®¾å¤*/
public ushort wDevType; //设å¤åå·
public byte bySupport3; //è½åéæ©å±ï¼ä½ä¸ç»æ为0表示ä¸æ¯æï¼1表示æ¯æ
//bySupport3 & 0x1, 表示æ¯å¦å¤ç æµ
// bySupport3 & 0x4 表示æ¯ææç»é
ç½®ï¼ å
·ä½å
å« ééå¾ååæ°ãæ¥è¦è¾å
¥åæ°ãIPæ¥è¦è¾å
¥ãè¾åºæ¥å
¥åæ°ã
// ç¨æ·åæ°ã设å¤å·¥ä½ç¶æãJPEGæå¾ãå®æ¶åæ¶é´æå¾ã硬ççç»ç®¡ç
//bySupport3 & 0x8为1 表示æ¯æ使ç¨TCPé¢è§ãUDPé¢è§ãå¤æé¢è§ä¸ç"延æ¶é¢è§"å段æ¥è¯·æ±å»¶æ¶é¢è§ï¼åç»é½å°ä½¿ç¨è¿ç§æ¹å¼è¯·æ±å»¶æ¶é¢è§ï¼ãèå½bySupport3 & 0x8为0æ¶ï¼å°ä½¿ç¨ "ç§æ延æ¶é¢è§"åè®®ã
//bySupport3 & 0x10 表示æ¯æ"è·åæ¥è¦ä¸»æºä¸»è¦ç¶æï¼V40ï¼"ã
//bySupport3 & 0x20 表示æ¯å¦æ¯æéè¿DDNSåå解æåæµ
public byte byMultiStreamProto;//æ¯å¦æ¯æå¤ç æµ,æä½è¡¨ç¤º,0-ä¸æ¯æ,1-æ¯æ,bit1-ç æµ3,bit2-ç æµ4,bit7-主ç æµï¼bit-8åç æµ
public byte byStartDChan; //èµ·å§æ°åééå·,0表示æ æ
public byte byStartDTalkChan; //èµ·å§æ°å对讲ééå·ï¼åºå«äºæ¨¡æ对讲ééå·ï¼0表示æ æ
public byte byHighDChanNum; //æ°åéé个æ°ï¼é«ä½
public byte bySupport4;
public byte byLanguageType;// æ¯æè¯ç§è½å,æä½è¡¨ç¤º,æ¯ä¸ä½0-ä¸æ¯æ,1-æ¯æ
// byLanguageType çäº0 表示 è设å¤
// byLanguageType & 0x1表示æ¯æä¸æ
// byLanguageType & 0x2表示æ¯æè±æ
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 9, ArraySubType = UnmanagedType.I1)]
public byte[] byRes2; //ä¿ç
}
//sdkç½ç»ç¯å¢æ举åéï¼ç¨äºè¿ç¨å级
public enum SDK_NETWORK_ENVIRONMENT
{
LOCAL_AREA_NETWORK = 0,
WIDE_AREA_NETWORK,
}
//æ¾ç¤ºæ¨¡å¼
public enum DISPLAY_MODE
{
NORMALMODE = 0,
OVERLAYMODE
}
//åé模å¼
public enum SEND_MODE
{
PTOPTCPMODE = 0,
PTOPUDPMODE,
MULTIMODE,
RTPMODE,
RESERVEDMODE
}
//æå¾æ¨¡å¼
public enum CAPTURE_MODE
{
BMP_MODE = 0, //BMP模å¼
JPEG_MODE = 1 //JPEG模å¼
}
//å®æ¶å£°é³æ¨¡å¼
public enum REALSOUND_MODE
{
MONOPOLIZE_MODE = 1,//ç¬å 模å¼
SHARE_MODE = 2 //å
±äº«æ¨¡å¼
}
public struct NET_DVR_CLIENTINFO
{
public Int32 lChannel;//ééå·
public Int32 lLinkMode;//æé«ä½(31)为0表示主ç æµï¼ä¸º1表示åç æµï¼0ï¼30ä½è¡¨ç¤ºç æµè¿æ¥æ¹å¼: 0ï¼TCPæ¹å¼,1ï¼UDPæ¹å¼,2ï¼å¤ææ¹å¼,3 - RTPæ¹å¼ï¼4-é³è§é¢åå¼(TCP)
public IntPtr hPlayWnd;//ææ¾çªå£çå¥æ,为NULL表示ä¸ææ¾å¾è±¡
public string sMultiCastIP;//å¤æç»å°å
}
//SDKç¶æä¿¡æ¯(9000æ°å¢)
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_SDKSTATE
{
public uint dwTotalLoginNum;//å½åloginç¨æ·æ°
public uint dwTotalRealPlayNum;//å½årealplayè·¯æ°
public uint dwTotalPlayBackNum;//å½ååæ¾æä¸è½½è·¯æ°
public uint dwTotalAlarmChanNum;//å½å建ç«æ¥è¦ééè·¯æ°
public uint dwTotalFormatNum;//å½å硬çæ ¼å¼åè·¯æ°
public uint dwTotalFileSearchNum;//å½åæ¥å¿ææ件æ索路æ°
public uint dwTotalLogSearchNum;//å½åæ¥å¿ææ件æ索路æ°
public uint dwTotalSerialNum;//å½åéæééè·¯æ°
public uint dwTotalUpgradeNum;//å½åå级路æ°
public uint dwTotalVoiceComNum;//å½åè¯é³è½¬åè·¯æ°
public uint dwTotalBroadCastNum;//å½åè¯é³å¹¿æè·¯æ°
public uint dwTotalListenNum; //å½åç½ç»çå¬è·¯æ°
public uint dwEmailTestNum; //å½åé®ä»¶è®¡æ°è·¯æ°
public uint dwBackupNum; // å½åæ件å¤ä»½è·¯æ°
public uint dwTotalInquestUploadNum; //å½å审讯ä¸ä¼ è·¯æ°
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 6, ArraySubType = UnmanagedType.U4)]
public uint[] dwRes;
}
//SDKåè½æ¯æä¿¡æ¯(9000æ°å¢)
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_SDKABL
{
public uint dwMaxLoginNum;//æ大loginç¨æ·æ° MAX_LOGIN_USERS
public uint dwMaxRealPlayNum;//æ大realplayè·¯æ° WATCH_NUM
public uint dwMaxPlayBackNum;//æ大åæ¾æä¸è½½è·¯æ° WATCH_NUM
public uint dwMaxAlarmChanNum;//æ大建ç«æ¥è¦ééè·¯æ° ALARM_NUM
public uint dwMaxFormatNum;//æ大硬çæ ¼å¼åè·¯æ° SERVER_NUM
public uint dwMaxFileSearchNum;//æ大æ件æç´¢è·¯æ° SERVER_NUM
public uint dwMaxLogSearchNum;//æ大æ¥å¿æç´¢è·¯æ° SERVER_NUM
public uint dwMaxSerialNum;//æ大éæééè·¯æ° SERVER_NUM
public uint dwMaxUpgradeNum;//æ大åçº§è·¯æ° SERVER_NUM
public uint dwMaxVoiceComNum;//æ大è¯é³è½¬åè·¯æ° SERVER_NUM
public uint dwMaxBroadCastNum;//æ大è¯é³å¹¿æè·¯æ° MAX_CASTNUM
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 10, ArraySubType = UnmanagedType.U4)]
public uint[] dwRes;
}
//æ¥è¦è®¾å¤ä¿¡æ¯
[StructLayoutAttribute(LayoutKind.Sequential, CharSet = CharSet.Ansi)]
public struct NET_DVR_ALARMER
{
public byte byUserIDValid;/* useridæ¯å¦ææ 0-æ æï¼1-ææ */
public byte bySerialValid;/* åºåå·æ¯å¦ææ 0-æ æï¼1-ææ */
public byte byVersionValid;/* çæ¬å·æ¯å¦ææ 0-æ æï¼1-ææ */
public byte byDeviceNameValid;/* 设å¤ååæ¯å¦ææ 0-æ æï¼1-ææ */
public byte byMacAddrValid; /* MACå°åæ¯å¦ææ 0-æ æï¼1-ææ */
public byte byLinkPortValid;/* login端å£æ¯å¦ææ 0-æ æï¼1-ææ */
public byte byDeviceIPValid;/* 设å¤IPæ¯å¦ææ 0-æ æï¼1-ææ */
public byte bySocketIPValid;/* socket ipæ¯å¦ææ 0-æ æï¼1-ææ */
public int lUserID; /* NET_DVR_Login()è¿åå¼, å¸é²æ¶ææ */
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = SERIALNO_LEN, ArraySubType = UnmanagedType.I1)]
public byte[] sSerialNumber;/* åºåå· */
public uint dwDeviceVersion;/* çæ¬ä¿¡æ¯ é«16ä½è¡¨ç¤ºä¸»çæ¬ï¼ä½16ä½è¡¨ç¤ºæ¬¡çæ¬*/
[MarshalAsAttribute(UnmanagedType.ByValTStr, SizeConst = NAME_LEN)]
public string sDeviceName;/* 设å¤åå */
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MACADDR_LEN, ArraySubType = UnmanagedType.I1)]
public byte[] byMacAddr;/* MACå°å */
public ushort wLinkPort; /* link port */
[MarshalAsAttribute(UnmanagedType.ByValTStr, SizeConst = 128)]
public string sDeviceIP;/* IPå°å */
[MarshalAsAttribute(UnmanagedType.ByValTStr, SizeConst = 128)]
public string sSocketIP;/* æ¥è¦ä¸»å¨ä¸ä¼ æ¶çsocket IPå°å */
public byte byIpProtocol; /* Ipåè®® 0-IPV4, 1-IPV6 */
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 11, ArraySubType = UnmanagedType.I1)]
public byte[] byRes2;
}
//硬解ç æ¾ç¤ºåºååæ°(åç»æ)
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_DISPLAY_PARA
{
public int bToScreen;
public int bToVideoOut;
public int nLeft;
public int nTop;
public int nWidth;
public int nHeight;
public int nReserved;
}
//硬解ç é¢è§åæ°
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_CARDINFO
{
public int lChannel;//ééå·
public int lLinkMode;//æé«ä½(31)为0表示主ç æµï¼ä¸º1表示åï¼0ï¼30ä½è¡¨ç¤ºç æµè¿æ¥æ¹å¼:0ï¼TCPæ¹å¼,1ï¼UDPæ¹å¼,2ï¼å¤ææ¹å¼,3 - RTPæ¹å¼ï¼4-çµè¯çº¿ï¼5ï¼128k宽带ï¼6ï¼256k宽带ï¼7ï¼384k宽带ï¼8ï¼512k宽带ï¼
[MarshalAsAttribute(UnmanagedType.LPStr)]
public string sMultiCastIP;
public NET_DVR_DISPLAY_PARA struDisplayPara;
}
//å½è±¡æ件åæ°
[StructLayoutAttribute(LayoutKind.Sequential, CharSet = CharSet.Ansi)]
public struct NET_DVR_FIND_DATA
{
[MarshalAsAttribute(UnmanagedType.ByValTStr, SizeConst = 100)]
public string sFileName;//æ件å
public NET_DVR_TIME struStartTime;//æ件çå¼å§æ¶é´
public NET_DVR_TIME struStopTime;//æ件çç»ææ¶é´
public uint dwFileSize;//æ件ç大å°
}
//å½è±¡æ件åæ°(9000)
[StructLayoutAttribute(LayoutKind.Sequential, CharSet = CharSet.Ansi)]
public struct NET_DVR_FINDDATA_V30
{
[MarshalAsAttribute(UnmanagedType.ByValTStr, SizeConst = 100)]
public string sFileName;//æ件å
public NET_DVR_TIME struStartTime;//æ件çå¼å§æ¶é´
public NET_DVR_TIME struStopTime;//æ件çç»ææ¶é´
public uint dwFileSize;//æ件ç大å°
[MarshalAsAttribute(UnmanagedType.ByValTStr, SizeConst = 32)]
public string sCardNum;
public byte byLocked;//9000设å¤æ¯æ,1表示æ¤æ件已ç»è¢«éå®,0表示æ£å¸¸çæ件
public byte byFileType; //æ件类å:0ï¼å®æ¶å½å,1-移å¨ä¾¦æµ ï¼2ï¼æ¥è¦è§¦åï¼
//3-æ¥è¦|移å¨ä¾¦æµ 4-æ¥è¦&移å¨ä¾¦æµ 5-å½ä»¤è§¦å 6-æå¨å½å,7ï¼éå¨æ¥è¦ï¼8-ç¯å¢æ¥è¦ï¼9-æºè½æ¥è¦ï¼10-PIRæ¥è¦ï¼11-æ 线æ¥è¦ï¼12-å¼ææ¥è¦,14-æºè½äº¤éäºä»¶
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 2, ArraySubType = UnmanagedType.I1)]
public byte[] byRes;
}
//å½è±¡æ件åæ°(cvr)
[StructLayoutAttribute(LayoutKind.Sequential, CharSet = CharSet.Ansi)]
public struct NET_DVR_FINDDATA_V40
{
[MarshalAsAttribute(UnmanagedType.ByValTStr, SizeConst = 100)]
public string sFileName;//æ件å
public NET_DVR_TIME struStartTime;//æ件çå¼å§æ¶é´
public NET_DVR_TIME struStopTime;//æ件çç»ææ¶é´
public uint dwFileSize;//æ件ç大å°
[MarshalAsAttribute(UnmanagedType.ByValTStr, SizeConst = 32)]
public string sCardNum;
public byte byLocked;//9000设å¤æ¯æ,1表示æ¤æ件已ç»è¢«éå®,0表示æ£å¸¸çæ件
public byte byFileType; //æ件类å:0ï¼å®æ¶å½å,1-移å¨ä¾¦æµ ï¼2ï¼æ¥è¦è§¦åï¼
//3-æ¥è¦|移å¨ä¾¦æµ 4-æ¥è¦&移å¨ä¾¦æµ 5-å½ä»¤è§¦å 6-æå¨å½å,7ï¼éå¨æ¥è¦ï¼8-ç¯å¢æ¥è¦ï¼9-æºè½æ¥è¦ï¼10-PIRæ¥è¦ï¼11-æ 线æ¥è¦ï¼12-å¼ææ¥è¦,14-æºè½äº¤éäºä»¶
public byte byQuickSearch; //0:æ®éæ¥è¯¢ç»æï¼1ï¼å¿«éï¼æ¥åï¼æ¥è¯¢ç»æ
public byte byRes;
public uint dwFileIndex; //æ件索å¼å·
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 128, ArraySubType = UnmanagedType.I1)]
public byte[] byRes1;
}
//å½è±¡æ件åæ°(带å¡å·)
[StructLayoutAttribute(LayoutKind.Sequential, CharSet = CharSet.Ansi)]
public struct NET_DVR_FINDDATA_CARD
{
[MarshalAsAttribute(UnmanagedType.ByValTStr, SizeConst = 100)]
public string sFileName;//æ件å
public NET_DVR_TIME struStartTime;//æ件çå¼å§æ¶é´
public NET_DVR_TIME struStopTime;//æ件çç»ææ¶é´
public uint dwFileSize;//æ件ç大å°
[MarshalAsAttribute(UnmanagedType.ByValTStr, SizeConst = 32)]
public string sCardNum;
}
//å½è±¡æ件æ¥æ¾æ¡ä»¶ç»æ
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_FILECOND
{
public int lChannel;//ééå·
public uint dwFileType;//å½è±¡æ件类å0xffï¼å
¨é¨ï¼0ï¼å®æ¶å½å,1-移å¨ä¾¦æµ ï¼2ï¼æ¥è¦è§¦åï¼
//3-æ¥è¦|移å¨ä¾¦æµ 4-æ¥è¦&移å¨ä¾¦æµ 5-å½ä»¤è§¦å 6-æå¨å½å
public uint dwIsLocked;//æ¯å¦éå® 0-æ£å¸¸æ件,1-éå®æ件, 0xff表示æææ件
public uint dwUseCardNo;//æ¯å¦ä½¿ç¨å¡å·
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 32, ArraySubType = UnmanagedType.I1)]
public byte[] sCardNumber;//å¡å·
public NET_DVR_TIME struStartTime;//å¼å§æ¶é´
public NET_DVR_TIME struStopTime;//ç»ææ¶é´
}
//äºå°åºåéæ©æ¾å¤§ç¼©å°(HIK å¿«çä¸ç¨)
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_POINT_FRAME
{
public int xTop;//æ¹æ¡èµ·å§ç¹çxåæ
public int yTop;//æ¹æ¡ç»æç¹çyåæ
public int xBottom;//æ¹æ¡ç»æç¹çxåæ
public int yBottom;//æ¹æ¡ç»æç¹çyåæ
public int bCounter;//ä¿ç
}
//è¯é³å¯¹è®²åæ°
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_COMPRESSION_AUDIO
{
public byte byAudioEncType;//é³é¢ç¼ç ç±»å 0-G722; 1-G711
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 7, ArraySubType = UnmanagedType.I1)]
public byte[] byres;//è¿éä¿çé³é¢çå缩åæ°
}
[StructLayoutAttribute(LayoutKind.Sequential, CharSet = CharSet.Ansi)]
public struct NET_DVR_AP_INFO
{
[MarshalAsAttribute(UnmanagedType.ByValTStr, SizeConst = IW_ESSID_MAX_SIZE)]
public string sSsid;
public uint dwMode;/* 0 mange 模å¼;1 ad-hoc模å¼ï¼åè§NICMODE */
public uint dwSecurity; /*0 ä¸å å¯ï¼1 wepå å¯ï¼2 wpa-psk;3 wpa-Enterpriseï¼åè§WIFISECURITY*/
public uint dwChannel;/*1-11表示11个éé*/
public uint dwSignalStrength;/*0-100ä¿¡å·ç±æå¼±å为æ强*/
public uint dwSpeed;/*éç,åä½æ¯0.01mbps*/
}
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_AP_INFO_LIST
{
public uint dwSize;
public uint dwCount;/*æ 线APæ°éï¼ä¸è¶
è¿20*/
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = WIFI_MAX_AP_COUNT, ArraySubType = UnmanagedType.Struct)]
public NET_DVR_AP_INFO[] struApInfo;
}
[StructLayoutAttribute(LayoutKind.Sequential, CharSet = CharSet.Ansi)]
public struct NET_DVR_WIFIETHERNET
{
[MarshalAsAttribute(UnmanagedType.ByValTStr, SizeConst = 16)]
public string sIpAddress;/*IPå°å*/
[MarshalAsAttribute(UnmanagedType.ByValTStr, SizeConst = 16)]
public string sIpMask;/*æ©ç */
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MACADDR_LEN, ArraySubType = UnmanagedType.I1)]
public byte[] byMACAddr;/*ç©çå°åï¼åªç¨æ¥æ¾ç¤º*/
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 2, ArraySubType = UnmanagedType.I1)]
public byte[] bRes;
public uint dwEnableDhcp;/*æ¯å¦å¯å¨dhcp 0ä¸å¯å¨ 1å¯å¨*/
public uint dwAutoDns;/*å¦æå¯å¨dhcpæ¯å¦èªå¨è·ådns,0ä¸èªå¨è·å 1èªå¨è·åï¼å¯¹äºæ线å¦æå¯å¨dhcpç®åèªå¨è·ådns*/
[MarshalAsAttribute(UnmanagedType.ByValTStr, SizeConst = 16)]
public string sFirstDns; /*第ä¸ä¸ªdnsåå*/
[MarshalAsAttribute(UnmanagedType.ByValTStr, SizeConst = 16)]
public string sSecondDns;/*第äºä¸ªdnsåå*/
[MarshalAsAttribute(UnmanagedType.ByValTStr, SizeConst = 16)]
public string sGatewayIpAddr;/* ç½å
³å°å*/
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 8, ArraySubType = UnmanagedType.I1)]
public byte[] bRes2;
}
[StructLayoutAttribute(LayoutKind.Sequential, CharSet = CharSet.Ansi)]
public struct UNION_EAP_TTLS
{
public byte byEapolVersion; //EAPOLçæ¬ï¼0-çæ¬1ï¼1-çæ¬2
public byte byAuthType; //å
é¨è®¤è¯æ¹å¼ï¼0-PAPï¼1-MSCHAPV2
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 2, ArraySubType = UnmanagedType.I1)]
public byte[] byRes1;
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = NAME_LEN, ArraySubType = UnmanagedType.I1)]
public byte[] byAnonyIdentity; //å¿å身份
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = NAME_LEN, ArraySubType = UnmanagedType.I1)]
public byte[] byUserName; //ç¨æ·å
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = NAME_LEN, ArraySubType = UnmanagedType.I1)]
public byte[] byPassword; //å¯ç
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 44, ArraySubType = UnmanagedType.I1)]
public byte[] byRes;
} //WPA-enterprise/WPA2-enterpris模å¼éç¨
[StructLayoutAttribute(LayoutKind.Sequential, CharSet = CharSet.Ansi)]
public struct UNION_EAP_PEAP
{
public byte byEapolVersion; //EAPOLçæ¬ï¼0-çæ¬1ï¼1-çæ¬2
public byte byAuthType; //å
é¨è®¤è¯æ¹å¼ï¼0-GTCï¼1-MD5ï¼2-MSCHAPV2
public byte byPeapVersion; //PEAPçæ¬ï¼0-çæ¬0ï¼1-çæ¬1
public byte byPeapLabel; //PEAPæ ç¾ï¼0-èæ ç¾ï¼1-æ°æ ç¾
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = NAME_LEN, ArraySubType = UnmanagedType.I1)]
public byte[] byAnonyIdentity; //å¿å身份
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = NAME_LEN, ArraySubType = UnmanagedType.I1)]
public byte[] byUserName; //ç¨æ·å
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = NAME_LEN, ArraySubType = UnmanagedType.I1)]
public byte[] byPassword; //å¯ç
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 44, ArraySubType = UnmanagedType.I1)]
public byte[] byRes;
} //WPA-enterprise/WPA2-enterpris模å¼éç¨
[StructLayoutAttribute(LayoutKind.Sequential, CharSet = CharSet.Ansi)]
public struct UNION_EAP_TLS
{
public byte byEapolVersion; //EAPOLçæ¬ï¼0-çæ¬1ï¼1-çæ¬2
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 3, ArraySubType = UnmanagedType.I1)]
public byte[] byRes1;
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = NAME_LEN, ArraySubType = UnmanagedType.I1)]
public byte[] byIdentity; //身份
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = NAME_LEN, ArraySubType = UnmanagedType.I1)]
public byte[] byPrivateKeyPswd; //ç§é¥å¯ç
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 76, ArraySubType = UnmanagedType.I1)]
public byte[] byRes;
}
[StructLayoutAttribute(LayoutKind.Explicit)]
public struct WIFI_AUTH_PARAM
{
[FieldOffsetAttribute(0)]
public UNION_EAP_TTLS EAP_TTLS;//WPA-enterprise/WPA2-enterpris模å¼éç¨
[FieldOffsetAttribute(0)]
public UNION_EAP_PEAP EAP_PEAP; //WPA-enterprise/WPA2-enterpris模å¼éç¨
[FieldOffsetAttribute(0)]
public UNION_EAP_TLS EAP_TLS;
}
[StructLayoutAttribute(LayoutKind.Sequential, CharSet = CharSet.Ansi)]
public struct UNION_WEP
{
public uint dwAuthentication;/*0 -å¼æ¾å¼ 1-å
±äº«å¼*/
public uint dwKeyLength;/* 0 -64ä½ï¼1- 128ä½ï¼2-152ä½*/
public uint dwKeyType;/*0 16è¿å¶;1 ASCI */
public uint dwActive;/*0 ç´¢å¼ï¼0---3表示ç¨åªä¸ä¸ªå¯é¥*/
[MarshalAsAttribute(UnmanagedType.ByValTStr, SizeConst = WIFI_WEP_MAX_KEY_COUNT * WIFI_WEP_MAX_KEY_LENGTH)]
public string sKeyInfo;
}
[StructLayoutAttribute(LayoutKind.Sequential, CharSet = CharSet.Ansi)]
public struct UNION_WPA_PSK
{
public uint dwKeyLength;/*8-63个ASCIIå符*/
[MarshalAsAttribute(UnmanagedType.ByValTStr, SizeConst = WIFI_WPA_PSK_MAX_KEY_LENGTH)]
public string sKeyInfo;
public byte byEncryptType;/*WPA/WPA2模å¼ä¸å å¯ç±»å,0-AES, 1-TKIP*/
}
[StructLayoutAttribute(LayoutKind.Sequential, CharSet = CharSet.Ansi)]
public struct UNION_WPA_WPA2
{
public byte byEncryptType; /*å å¯ç±»å,0-AES, 1-TKIP*/
public byte byAuthType; //认è¯ç±»åï¼0-EAP_TTLS,1-EAP_PEAP,2-EAP_TLS
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 2, ArraySubType = UnmanagedType.I1)]
public byte[] byRes;
public WIFI_AUTH_PARAM auth_param;
}
[StructLayoutAttribute(LayoutKind.Sequential, CharSet = CharSet.Ansi)]
public struct NET_DVR_WIFI_CFG_EX
{
public NET_DVR_WIFIETHERNET struEtherNet;/*wifiç½å£*/
[MarshalAsAttribute(UnmanagedType.ByValTStr, SizeConst = IW_ESSID_MAX_SIZE)]
public string sEssid;/*SSID*/
public uint dwMode;/* 0 mange 模å¼;1 ad-hoc模å¼ï¼åè§*/
public uint dwSecurity;/*0 ä¸å å¯ï¼1 wepå å¯ï¼2 wpa-psk; */
[StructLayoutAttribute(LayoutKind.Explicit)]
public struct key
{
[FieldOffsetAttribute(0)]
public UNION_WEP wep;
[FieldOffsetAttribute(0)]
public UNION_WPA_PSK wpa_psk;
[FieldOffsetAttribute(0)]
public UNION_WPA_WPA2 wpa_wpa2;//WPA-enterprise/WPA2-enterpris模å¼éç¨
}
}
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_WIFI_CFG
{
public uint dwSize;
public NET_DVR_WIFI_CFG_EX struWifiCfg;
}
//wifiè¿æ¥ç¶æ
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_WIFI_CONNECT_STATUS
{
public uint dwSize;
public byte byCurStatus; //1-å·²è¿æ¥ï¼2-æªè¿æ¥ï¼3-æ£å¨è¿æ¥
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 3, ArraySubType = UnmanagedType.I1)]
public byte[] byRes1; //ä¿ç
public uint dwErrorCode; // byCurStatus = 2æ¶ææ,1-ç¨æ·åæå¯ç é误,2-æ æ¤è·¯ç±å¨,3-æªç¥é误
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 244, ArraySubType = UnmanagedType.I1)]
public byte[] byRes;
}
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_WIFI_WORKMODE
{
public uint dwSize;
public uint dwNetworkInterfaceMode;/*0 èªå¨åæ¢æ¨¡å¼ã1 æ线模å¼*/
}
//æºè½æ§å¶ä¿¡æ¯
public const int MAX_VCA_CHAN = 16;//æ大æºè½ééæ°
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_VCA_CTRLINFO
{
public byte byVCAEnable;//æ¯å¦å¼å¯æºè½
public byte byVCAType;//æºè½è½åç±»åï¼VCA_CHAN_ABILITY_TYPE
public byte byStreamWithVCA;//ç æµä¸æ¯å¦å¸¦æºè½ä¿¡æ¯
public byte byMode;//模å¼ï¼VCA_CHAN_MODE_TYPE ,atmè½åçæ¶åéè¦é
ç½®
public byte byControlType; //æ§å¶ç±»åï¼æä½è¡¨ç¤ºï¼0-å¦ï¼1-æ¯
// byControlType &1 æ¯å¦å¯ç¨ææåè½
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 3, ArraySubType = UnmanagedType.I1)]
public byte[] byRes;//ä¿çï¼è®¾ç½®ä¸º0
}
//æºè½æ§å¶ä¿¡æ¯ç»æ
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_VCA_CTRLCFG
{
public uint dwSize;
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_VCA_CHAN, ArraySubType = UnmanagedType.Struct)]
public NET_VCA_CTRLINFO[] struCtrlInfo;//æ§å¶ä¿¡æ¯,æ°ç»0对åºè®¾å¤çèµ·å§éé
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 16, ArraySubType = UnmanagedType.I1)]
public byte[] byRes;
}
//æºè½è®¾å¤è½åé
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_VCA_DEV_ABILITY
{
public uint dwSize;//ç»æé¿åº¦
public byte byVCAChanNum;//æºè½éé个æ°
public byte byPlateChanNum;//车çéé个æ°
public byte byBBaseChanNum;//è¡ä¸ºåºæ¬ç个æ°
public byte byBAdvanceChanNum;//è¡ä¸ºé«çº§ç个æ°
public byte byBFullChanNum;//è¡ä¸ºå®æ´ç个æ°
public byte byATMChanNum;//æºè½ATM个æ°
public byte byPDCChanNum; //人æ°ç»è®¡éé个æ°
public byte byITSChanNum; //交éäºä»¶éé个æ°
public byte byBPrisonChanNum; //è¡ä¸ºçç±ç(çè)éé个æ°
public byte byFSnapChanNum; //人è¸ææéé个æ°
public byte byFSnapRecogChanNum; //人è¸ææåè¯å«éé个æ°
public byte byFRetrievalChanNum; //人è¸åæ£ç´¢ä¸ªæ°
public byte bySupport; //è½åï¼ä½ä¸ç»æ为0表示ä¸æ¯æï¼1表示æ¯æ
//bySupport & 0x1ï¼è¡¨ç¤ºæ¯å¦æ¯ææºè½è·è¸ª 2012-3-22
//bySupport & 0x2ï¼è¡¨ç¤ºæ¯å¦æ¯æ128è·¯åæµæ©å±2012-12-27
public byte byFRecogChanNum; //人è¸è¯å«éé个æ°
public byte byBPPerimeterChanNum; //è¡ä¸ºçç±ç(å¨ç)éé个æ°
public byte byTPSChanNum; //交é诱导éé个æ°
public byte byTFSChanNum; //éè·¯è¿ç« åè¯éé个æ°
public byte byFSnapBFullChanNum; //人è¸ææåè¡ä¸ºåæéé个æ°
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 22, ArraySubType = UnmanagedType.I1)]
public byte[] byRes;
}
//è¡ä¸ºåæè½åç±»å
public enum VCA_ABILITY_TYPE:uint
{
TRAVERSE_PLANE_ABILITY = 0x01, //ç©¿è¶è¦æé¢
ENTER_AREA_ABILITY = 0x02, //è¿å
¥åºå
EXIT_AREA_ABILITY = 0x04, //离å¼åºå
INTRUSION_ABILITY = 0x08, //å
¥ä¾µ
LOITER_ABILITY = 0x10, //å¾å¾
LEFT_TAKE_ABILITY = 0x20, //ç©åéçæ¿å
PARKING_ABILITY = 0x40, //å车
RUN_ABILITY = 0x80, //å¿«é移å¨
HIGH_DENSITY_ABILITY = 0x100, //人åèé
LF_TRACK_ABILITY = 0x200, //çæºè·è¸ª
VIOLENT_MOTION_ABILITY = 0x400, //å§çè¿å¨æ£æµ
REACH_HIGHT_ABILITY = 0x800, //æé«æ£æµ
GET_UP_ABILITY = 0x1000, //起身æ£æµ
LEFT_ABILITY = 0x2000, //ç©åéç
TAKE_ABILITY = 0x4000, //ç©åæ¿å
LEAVE_POSITION = 0x8000, //离å²
TRAIL_ABILITY = 0x10000, //å°¾é
KEY_PERSON_GET_UP_ABILITY = 0x20000, //éç¹äººå起身æ£æµ
FALL_DOWN_ABILITY = 0x80000, //åå°
AUDIO_ABNORMAL_ABILITY = 0x100000, //声强çªå
ADV_REACH_HEIGHT_ABILITY = 0x200000, //æ线æé«
TOILET_TARRY_ABILITY = 0x400000, //å¦åè¶
æ¶
YARD_TARRY_ABILITY = 0x800000, //æ¾é£åºæ»ç
ADV_TRAVERSE_PLANE_ABILITY = 0x1000000, //æ线è¦æé¢
HUMAN_ENTER_ABILITY = 0x10000000, //人é è¿ATM ,åªå¨ATM_PANEL模å¼ä¸æ¯æ
OVER_TIME_ABILITY = 0x20000000, //æä½è¶
æ¶,åªå¨ATM_PANEL模å¼ä¸æ¯æ
STICK_UP_ABILITY = 0x40000000, //贴纸æ¡
INSTALL_SCANNER_ABILITY = 0x80000000 //å®è£
读å¡å¨
}
//æºè½ééç±»å
public enum VCA_CHAN_ABILITY_TYPE
{
VCA_BEHAVIOR_BASE = 1, //è¡ä¸ºåæåºæ¬ç
VCA_BEHAVIOR_ADVANCE = 2, //è¡ä¸ºåæé«çº§ç
VCA_BEHAVIOR_FULL = 3, //è¡ä¸ºåæå®æ´ç
VCA_PLATE = 4, //车çè½å
VCA_ATM = 5, //ATMè½å
VCA_PDC = 6, //人æµéç»è®¡
VCA_ITS = 7, //æºè½ 交éäºä»¶
VCA_BEHAVIOR_PRISON = 8, //è¡ä¸ºåæçç±ç(çè)
VCA_FACE_SNAP = 9, //人è¸ææè½å
VCA_FACE_SNAPRECOG = 10, //人è¸ææåè¯å«è½å
VCA_FACE_RETRIEVAL = 11, //人è¸åæ£ç´¢è½å
VCA_FACE_RECOG = 12, //人è¸è¯å«è½å
VCA_BEHAVIOR_PRISON_PERIMETER = 13, // è¡ä¸ºåæçç±ç (å¨ç)
VCA_TPS = 14, //交é诱导
VCA_TFS = 15, //éè·¯è¿ç« åè¯
VCA_BEHAVIOR_FACESNAP = 16 //人è¸ææåè¡ä¸ºåæè½å
}
//æºè½ATM模å¼ç±»å(ATMè½åç¹æ)
public enum VCA_CHAN_MODE_TYPE
{
VCA_ATM_PANEL = 0,//ATMé¢æ¿
VCA_ATM_SURROUND = 1,//ATMç¯å¢
VCA_ATM_FACE = 2 //ATM人è¸
}
public enum TFS_CHAN_MODE_TYPE
{
TFS_CITYROAD = 0, //TFS åå¸éè·¯
TFS_FREEWAY = 1 //TFS é«ééè·¯
}
//è¡ä¸ºåæåºæ¯æ¨¡å¼
public enum BEHAVIOR_SCENE_MODE_TYPE
{
BEHAVIOR_SCENE_DEFAULT = 0, //ç³»ç»é»è®¤
BEHAVIOR_SCENE_WALL = 1, //å´å¢
BEHAVIOR_SCENE_INDOOR = 2 //室å
}
//ééè½åè¾å
¥åæ°
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_VCA_CHAN_IN_PARAM
{
public byte byVCAType;//VCA_CHAN_ABILITY_TYPEæ举å¼
public byte byMode;//模å¼ï¼VCA_CHAN_MODE_TYPE ,atmè½åçæ¶åéè¦é
ç½®
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 2, ArraySubType = UnmanagedType.I1)]
public byte[] byRes;//ä¿çï¼è®¾ç½®ä¸º0
}
//è¡ä¸ºè½åéç»æ
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_VCA_BEHAVIOR_ABILITY
{
public uint dwSize;//ç»æé¿åº¦
public uint dwAbilityType;//æ¯æçè½åç±»åï¼æä½è¡¨ç¤ºï¼è§VCA_ABILITY_TYPEå®ä¹
public byte byMaxRuleNum;//æ大è§åæ°
public byte byMaxTargetNum;//æ大ç®æ æ°
public byte bySupport; // æ¯æçåè½ç±»å æä½è¡¨ç¤º
// bySupport & 0x01 æ¯ææ å®åè½
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 9, ArraySubType = UnmanagedType.I1)]
public byte[] byRes; //ä¿çï¼è®¾ç½®ä¸º0
}
// 交éè½åéç»æ
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_ITS_ABILITY
{
public uint dwSize; // ç»æä½å¤§å°
public uint dwAbilityType; // æ¯æçè½åå表 åç
§ITS_ABILITY_TYPE
public byte byMaxRuleNum; //æ大è§åæ°
public byte byMaxTargetNum; //æ大ç®æ æ°
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 10, ArraySubType = UnmanagedType.I1)]
public byte[] byRes; // ä¿ç
}
/***********************************end*******************************************/
/************************************æºè½åæ°ç»æ*********************************/
//æºè½å
±ç¨ç»æ
//åæ å¼å½ä¸å,æµ®ç¹æ°å¼ä¸ºå½åç»é¢çç¾åæ¯å¤§å°, 精度为å°æ°ç¹åä¸ä½
//ç¹åæ ç»æ
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_VCA_POINT
{
public float fX;// Xè½´åæ , 0.001~1
public float fY;//Yè½´åæ , 0.001~1
}
//åºåæ¡ç»æ
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_VCA_RECT
{
public float fX;//è¾¹çæ¡å·¦ä¸è§ç¹çXè½´åæ , 0.001~1
public float fY;//è¾¹çæ¡å·¦ä¸è§ç¹çYè½´åæ , 0.001~1
public float fWidth;//è¾¹çæ¡ç宽度, 0.001~1
public float fHeight;//è¾¹çæ¡çé«åº¦, 0.001~1
}
//è¡ä¸ºåæäºä»¶ç±»å
public enum VCA_EVENT_TYPE : uint
{
VCA_TRAVERSE_PLANE = 0x1, //ç©¿è¶è¦æé¢
VCA_ENTER_AREA = 0x2, //ç®æ è¿å
¥åºå,æ¯æåºåè§å
VCA_EXIT_AREA = 0x4, //ç®æ 离å¼åºå,æ¯æåºåè§å
VCA_INTRUSION = 0x8, //å¨çå
¥ä¾µ,æ¯æåºåè§å
VCA_LOITER = 0x10, //å¾å¾,æ¯æåºåè§å
VCA_LEFT_TAKE = 0x20, //ç©åéçæ¿å,æ¯æåºåè§å
VCA_PARKING = 0x40, //å车,æ¯æåºåè§å
VCA_RUN = 0x80, //å¿«é移å¨,æ¯æåºåè§å
VCA_HIGH_DENSITY = 0x100, //åºåå
人åèé,æ¯æåºåè§å
VCA_VIOLENT_MOTION = 0x200, //å§çè¿å¨æ£æµ
VCA_REACH_HIGHT = 0x400, //æé«æ£æµ
VCA_GET_UP = 0x800, //起身æ£æµ
VCA_LEFT = 0x1000, //ç©åéç
VCA_TAKE = 0x2000, //ç©åæ¿å
VCA_LEAVE_POSITION = 0x4000, //离å²
VCA_TRAIL = 0x8000, //å°¾é
VCA_KEY_PERSON_GET_UP = 0x10000, //éç¹äººå起身æ£æµ
VCA_FALL_DOWN = 0x80000, //åå°æ£æµ
VCA_AUDIO_ABNORMAL = 0x100000, //声强çªåæ£æµ
VCA_ADV_REACH_HEIGHT = 0x200000, //æ线æé«
VCA_TOILET_TARRY = 0x400000, //å¦åè¶
æ¶
VCA_YARD_TARRY = 0x800000, //æ¾é£åºæ»ç
VCA_ADV_TRAVERSE_PLANE = 0x1000000, //æ线è¦æé¢
VCA_HUMAN_ENTER = 0x10000000, //人é è¿ATM åªå¨ATM_PANEL模å¼ä¸æ¯æ
VCA_OVER_TIME = 0x20000000, //æä½è¶
æ¶ åªå¨ATM_PANEL模å¼ä¸æ¯æ
VCA_STICK_UP = 0x40000000, //贴纸æ¡,æ¯æåºåè§å
VCA_INSTALL_SCANNER = 0x80000000 //å®è£
读å¡å¨,æ¯æåºåè§å
}
//è¡ä¸ºåæäºä»¶ç±»åæ©å±
public enum VCA_RULE_EVENT_TYPE_EX
{
ENUM_VCA_EVENT_TRAVERSE_PLANE = 1, //ç©¿è¶è¦æé¢
ENUM_VCA_EVENT_ENTER_AREA = 2, //ç®æ è¿å
¥åºå,æ¯æåºåè§å
ENUM_VCA_EVENT_EXIT_AREA = 3, //ç®æ 离å¼åºå,æ¯æåºåè§å
ENUM_VCA_EVENT_INTRUSION = 4, //å¨çå
¥ä¾µ,æ¯æåºåè§å
ENUM_VCA_EVENT_LOITER = 5, //å¾å¾,æ¯æåºåè§å
ENUM_VCA_EVENT_LEFT_TAKE = 6, //ç©åéçæ¿å,æ¯æåºåè§å
ENUM_VCA_EVENT_PARKING = 7, //å车,æ¯æåºåè§å
ENUM_VCA_EVENT_RUN = 8, //å¿«é移å¨,æ¯æåºåè§å
ENUM_VCA_EVENT_HIGH_DENSITY = 9, //åºåå
人åèé,æ¯æåºåè§å
ENUM_VCA_EVENT_VIOLENT_MOTION = 10, //å§çè¿å¨æ£æµ
ENUM_VCA_EVENT_REACH_HIGHT = 11, //æé«æ£æµ
ENUM_VCA_EVENT_GET_UP = 12, //起身æ£æµ
ENUM_VCA_EVENT_LEFT = 13, //ç©åéç
ENUM_VCA_EVENT_TAKE = 14, //ç©åæ¿å
ENUM_VCA_EVENT_LEAVE_POSITION = 15, //离å²
ENUM_VCA_EVENT_TRAIL = 16, //å°¾é
ENUM_VCA_EVENT_KEY_PERSON_GET_UP = 17, //éç¹äººå起身æ£æµ
ENUM_VCA_EVENT_FALL_DOWN = 20, //åå°æ£æµ
ENUM_VCA_EVENT_AUDIO_ABNORMAL = 21, //声强çªåæ£æµ
ENUM_VCA_EVENT_ADV_REACH_HEIGHT = 22, //æ线æé«
ENUM_VCA_EVENT_TOILET_TARRY = 23, //å¦åè¶
æ¶
ENUM_VCA_EVENT_YARD_TARRY = 24, //æ¾é£åºæ»ç
ENUM_VCA_EVENT_ADV_TRAVERSE_PLANE = 25, //æ线è¦æé¢
ENUM_VCA_EVENT_HUMAN_ENTER = 29, //人é è¿ATM,åªå¨ATM_PANEL模å¼ä¸æ¯æ
ENUM_VCA_EVENT_OVER_TIME = 30, //æä½è¶
æ¶,åªå¨ATM_PANEL模å¼ä¸æ¯æ
ENUM_VCA_EVENT_STICK_UP = 31, //贴纸æ¡,æ¯æåºåè§å
ENUM_VCA_EVENT_INSTALL_SCANNER = 32 //å®è£
读å¡å¨,æ¯æåºåè§å
}
//è¦æé¢ç©¿è¶æ¹åç±»å
public enum VCA_CROSS_DIRECTION
{
VCA_BOTH_DIRECTION,// åå
VCA_LEFT_GO_RIGHT,// ç±å·¦è³å³
VCA_RIGHT_GO_LEFT,// ç±å³è³å·¦
}
//线ç»æ
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_VCA_LINE
{
public NET_VCA_POINT struStart;//èµ·ç¹
public NET_VCA_POINT struEnd; //ç»ç¹
// public void init()
// {
// struStart = new NET_VCA_POINT();
// struEnd = new NET_VCA_POINT();
// }
}
//该ç»æä¼å¯¼è´xamlçé¢åºä¸æ¥ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼é®é¢ææ¶è¿æ²¡ææ¾å°
//ææ¶å±è½ç»æå
//å¤è¾¹åç»æä½
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_VCA_POLYGON
{
/// DWORD->unsigned int
public uint dwPointNum;
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = VCA_MAX_POLYGON_POINT_NUM, ArraySubType = UnmanagedType.Struct)]
public NET_VCA_POINT[] struPos;
}
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_VCA_TRAVERSE_PLANE
{
public NET_VCA_LINE struPlaneBottom;//è¦æé¢åºè¾¹
public VCA_CROSS_DIRECTION dwCrossDirection;//ç©¿è¶æ¹å: 0-ååï¼1-ä»å·¦å°å³ï¼2-ä»å³å°å·¦
public byte byRes1;//ä¿ç
public byte byPlaneHeight;//è¦æé¢é«åº¦
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 38, ArraySubType = UnmanagedType.I1)]
public byte[] byRes2;
// public void init()
// {
// struPlaneBottom = new NET_VCA_LINE();
// struPlaneBottom.init();
// byRes2 = new byte[38];
// }
}
//è¿å
¥/离å¼åºååæ°
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_VCA_AREA
{
public NET_VCA_POLYGON struRegion;//åºåèå´
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 8, ArraySubType = UnmanagedType.I1)]
public byte[] byRes;
}
//æ ¹æ®æ¥è¦å»¶è¿æ¶é´æ¥æ è¯æ¥è¦ä¸å¸¦å¾çï¼æ¥è¦é´éåIOæ¥è¦ä¸è´ï¼1ç§åéä¸ä¸ªã
//å
¥ä¾µåæ°
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_VCA_INTRUSION
{
public NET_VCA_POLYGON struRegion;//åºåèå´
public ushort wDuration;//æ¥è¦å»¶è¿æ¶é´: 1-120ç§ï¼å»ºè®®5ç§ï¼å¤ææ¯æææ¥è¦çæ¶é´
public byte bySensitivity; //çµæ度åæ°ï¼èå´[1-100]
public byte byRate; //å æ¯ï¼åºåå
æææªæ¥è¦ç®æ 尺寸ç®æ å åºåé¢ç§¯çæ¯éï¼å½ä¸å为ï¼ï¼
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 4, ArraySubType = UnmanagedType.I1)]
public byte[] byRes;
}
//å¾å¾åæ°
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_VCA_LOITER
{
public NET_VCA_POLYGON struRegion;//åºåèå´
public ushort wDuration;//触åå¾å¾æ¥è¦çæç»æ¶é´ï¼1-120ç§ï¼å»ºè®®10ç§
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 6, ArraySubType = UnmanagedType.I1)]
public byte[] byRes;
}
//丢å
/æ¡å
åæ°
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_VCA_TAKE_LEFT
{
public NET_VCA_POLYGON struRegion;//åºåèå´
public ushort wDuration;//触å丢å
/æ¡å
æ¥è¦çæç»æ¶é´ï¼1-120ç§ï¼å»ºè®®10ç§
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 6, ArraySubType = UnmanagedType.I1)]
public byte[] byRes;
}
//å车åæ°
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_VCA_PARKING
{
public NET_VCA_POLYGON struRegion;//åºåèå´
public ushort wDuration;//触åå车æ¥è¦æç»æ¶é´ï¼1-120ç§ï¼å»ºè®®10ç§
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 6, ArraySubType = UnmanagedType.I1)]
public byte[] byRes;
}
//å¥è·åæ°
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_VCA_RUN
{
public NET_VCA_POLYGON struRegion;//åºåèå´
public float fRunDistance;//人å¥è·æ大è·ç¦», èå´: [0.1, 1.00]
public byte byRes1; // ä¿çåè
public byte byMode; // 0 åç´ æ¨¡å¼ 1 å®é
模å¼
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 2, ArraySubType = UnmanagedType.I1)]
public byte[] byRes;
}
//人åèéåæ°
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_VCA_HIGH_DENSITY
{
public NET_VCA_POLYGON struRegion;//åºåèå´
public float fDensity;//å¯åº¦æ¯ç, èå´: [0.1, 1.0]
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 2, ArraySubType = UnmanagedType.I1)]
public byte[] byRes;
public ushort wDuration; // 触å人åèéåæ°æ¥è¦éå¼ 20-360s
}
//å§çè¿å¨åæ°
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_VCA_VIOLENT_MOTION
{
public NET_VCA_POLYGON struRegion;//åºåèå´
public ushort wDuration; //触åå§çè¿å¨æ¥è¦éå¼ï¼1-50ç§
public byte bySensitivity; //çµæ度åæ°ï¼èå´[1,5]
public byte byMode; //0-纯è§é¢æ¨¡å¼ï¼1-é³è§é¢èå模å¼ï¼2-纯é³é¢æ¨¡å¼
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 4, ArraySubType = UnmanagedType.I1)]
public byte[] byRes; //ä¿ç
}
//æé«åæ°
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_VCA_REACH_HIGHT
{
public NET_VCA_LINE struVcaLine; //æé«è¦æé¢
public ushort wDuration; //触åæé«æ¥è¦éå¼ï¼1-120ç§
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 6, ArraySubType = UnmanagedType.I1)]
public byte[] byRes; // ä¿çåè
}
//èµ·åºåæ°
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_VCA_GET_UP
{
public NET_VCA_POLYGON struRegion; //åºåèå´
public ushort wDuration; //触åèµ·åºæ¥è¦éå¼1-100 ç§
public byte byMode; //起身æ£æµæ¨¡å¼,0-大åºééºæ¨¡å¼,1-é«ä½éºæ¨¡å¼,2-大åºééºåç«èµ·èº«æ¨¡å¼
public byte bySensitivity; //çµæ度åæ°ï¼èå´[1,10]
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 4, ArraySubType = UnmanagedType.I1)]
public byte[] byRes; //ä¿çåè
}
//ç©åéç
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_VCA_LEFT
{
public NET_VCA_POLYGON struRegion; // åºåèå´
public ushort wDuration; // 触åç©åéçæ¥è¦éå¼ 10-100ç§
public byte bySensitivity; // çµæ度åæ°ï¼èå´[1,5]
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 5, ArraySubType = UnmanagedType.I1)]
public byte[] byRes; // ä¿çåè
}
// ç©åæ¿å
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_VCA_TAKE
{
public NET_VCA_POLYGON struRegion; // åºåèå´
public ushort wDuration; // 触åç©åæ¿åæ¥è¦éå¼10-100ç§
public byte bySensitivity; // çµæ度åæ°ï¼èå´[1,5]
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 5, ArraySubType = UnmanagedType.I1)]
public byte[] byRes; // ä¿çåè
}
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_VCA_OVER_TIME
{
public NET_VCA_POLYGON struRegion; // åºåèå´
public ushort wDuration; // æä½æ¥è¦æ¶é´éå¼ 4s-60000s
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 6, ArraySubType = UnmanagedType.I1)]
public byte[] byRes; // ä¿çåè
}
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_VCA_HUMAN_ENTER
{
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 23, ArraySubType = UnmanagedType.U4)]
public uint[] dwRes; //ä¿çåè
}
//贴纸æ¡åæ°
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_VCA_STICK_UP
{
public NET_VCA_POLYGON struRegion;//åºåèå´
public ushort wDuration;//æ¥è¦æç»æ¶é´ï¼10-60ç§ï¼å»ºè®®10ç§
public byte bySensitivity;//çµæ度åæ°ï¼èå´[1,5]
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 5, ArraySubType = UnmanagedType.I1)]
public byte[] byRes;
}
//读å¡å¨åæ°
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_VCA_SCANNER
{
public NET_VCA_POLYGON struRegion;//åºåèå´
public ushort wDuration;//读å¡æç»æ¶é´ï¼10-60ç§
public byte bySensitivity;//çµæ度åæ°ï¼èå´[1,5]
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 5, ArraySubType = UnmanagedType.I1)]
public byte[] byRes;
}
//离å²äºä»¶
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_VCA_LEAVE_POSITION
{
public NET_VCA_POLYGON struRegion; //åºåèå´
public ushort wLeaveDelay; //æ 人æ¥è¦æ¶é´ï¼åä½ï¼sï¼åå¼1-1800
public ushort wStaticDelay; //ç¡è§æ¥è¦æ¶é´ï¼åä½ï¼sï¼åå¼1-1800
public byte byMode; //模å¼ï¼0-离å²äºä»¶ï¼1-ç¡å²äºä»¶ï¼2-离å²ç¡å²äºä»¶
public byte byPersonType; //å¼å²äººæ°ç±»åï¼0-å人å¼å²ï¼1-å人å¼å²
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 2, ArraySubType = UnmanagedType.I1)]
public byte[] byRes; //ä¿ç
}
//å°¾éåæ°
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_VCA_TRAIL
{
public NET_VCA_POLYGON struRegion;//åºåèå´
public ushort wRes; /* ä¿ç */
public byte bySensitivity; /* çµæ度åæ°ï¼èå´[1,5] */
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 5, ArraySubType = UnmanagedType.I1)]
public byte[] byRes;
}
//åå°åæ°
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_VCA_FALL_DOWN
{
public NET_VCA_POLYGON struRegion;//åºåèå´
public ushort wDuration; /* 触åäºä»¶éå¼ 1-60s*/
public byte bySensitivity; /* çµæ度åæ°ï¼èå´[1,5] */
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 5, ArraySubType = UnmanagedType.I1)]
public byte[] byRes;
}
//声强çªååæ°
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_VCA_AUDIO_ABNORMAL
{
public ushort wDecibel; //声é³å¼ºåº¦
public byte bySensitivity; //çµæ度åæ°ï¼èå´[1,5]
public byte byAudioMode; //声é³æ£æµæ¨¡å¼ï¼0-çµæ度æ£æµï¼1-åè´éå¼æ£æµï¼2-çµæ度ä¸åè´éå¼æ£æµ
public byte byEnable; //使è½ï¼æ¯å¦å¼å¯
public byte byThreshold; //声é³éå¼[0,100]
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 54, ArraySubType = UnmanagedType.I1)]
public byte[] byRes; //ä¿ç
}
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_AUDIO_EXCEPTION
{
public uint dwSize;
public byte byEnableAudioInException; //使è½ï¼æ¯å¦å¼å¯
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 3, ArraySubType = UnmanagedType.I1)]
public byte[] byRes1;
public NET_VCA_AUDIO_ABNORMAL struAudioAbnormal;
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_DAYS * MAX_TIMESEGMENT_V30, ArraySubType = UnmanagedType.Struct)]
public NET_DVR_SCHEDTIME[] struAlarmSched; //å¸é²æ¶é´
public NET_DVR_HANDLEEXCEPTION_V40 struHandleException; //å¼å¸¸å¤çæ¹å¼
public uint dwMaxRelRecordChanNum; //æ¥è¦è§¦åçå½è±¡éé æ°ï¼åªè¯»ï¼æ大æ¯ææ°é
public uint dwRelRecordChanNum; //æ¥è¦è§¦åçå½è±¡éé æ° å®é
æ¯æçæ°é
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_CHANNUM_V30, ArraySubType = UnmanagedType.U4)]
public uint[] byRelRecordChan;
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 32, ArraySubType = UnmanagedType.I1)]
public byte[] byRes2;
}
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_VCA_TOILET_TARRY
{
public NET_VCA_POLYGON struRegion;//åºåèå´
public ushort wDelay; //å¦åè¶
æ¶æ¶é´[1,3600]ï¼åä½ï¼ç§
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 6, ArraySubType = UnmanagedType.I1)]
public byte[] byRes;
}
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_PU_STREAM_CFG_V41
{
public int dwSize;
public byte byStreamMode;
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 3, ArraySubType = UnmanagedType.I1)]
public byte[] byRes1;//3
public NET_DVR_DEC_STREAM_MODE uDecStreamMode;
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 64, ArraySubType = UnmanagedType.I1)]
public byte[] byRes2;//64
public void Init()
{
byRes1 = new byte[3];
byRes2 = new byte[64];
}
}//*LPNET_DVR_PU_STREAM_CFG_V41;
[StructLayoutAttribute(LayoutKind.Explicit)]
// [StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_DEC_STREAM_MODE
{
//[FieldOffset(0)]
//public NET_DVR_DEC_STREAM_DEV_EX struDecStreamDev;
//[FieldOffset(0)]
//public NET_DVR_PU_STREAM_URL struUrlInfo;
//[FieldOffset(0)]
//public NET_DVR_DEC_DDNS_DEV struDdnsDecInfo;
//public NET_DVR_DEC_STREAM_DEV_EX struDecStreamDev;
//public NET_DVR_PU_STREAM_URL struUrlInfo;
//public NET_DVR_DEC_DDNS_DEV struDdnsDecInfo;
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 300, ArraySubType = UnmanagedType.I1)]
[FieldOffset(0)]
public byte[] byRes;//300
}//,*LPNET_DVR_DEC_STREAM_MODE;
[StructLayoutAttribute(LayoutKind.Sequential, Size = 264)]
public struct NET_DVR_DEC_STREAM_DEV_EX
{
public NET_DVR_STREAM_MEDIA_SERVER struStreamMediaSvrCfg;
public NET_DVR_DEV_CHAN_INFO_EX struDevChanInfo;
}//,*LPNET_DVR_DEC_STREAM_DEV_EX;
public struct NET_DVR_DEC_DDNS_DEV
{
public NET_DVR_DEV_DDNS_INFO struDdnsInfo;
public NET_DVR_STREAM_MEDIA_SERVER struMediaServer;
}//,*LPNET_DVR_DEC_DDNS_DEV;
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_STREAM_MEDIA_SERVER
{
public byte byValid;
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 3, ArraySubType = UnmanagedType.I1)]
public byte[] byRes1;//3
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 64, ArraySubType = UnmanagedType.I1)]
public byte[] byAddress;//64
public ushort wDevPort;
public byte byTransmitType;
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 5, ArraySubType = UnmanagedType.I1)]
public byte[] byRes2;//5
}//,*LPNET_DVR_STREAM_MEDIA_SERVER;
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_DEV_CHAN_INFO_EX
{
public byte byChanType;
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 32)]
public byte[] byStreamId;//32
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 31, ArraySubType = UnmanagedType.I1)]
public byte[] byRes1;//31
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 64, ArraySubType = UnmanagedType.I1)]
public byte[] byAddress; //64
//public string byAddress; //64
public ushort wDVRPort;
public byte byChannel;
public byte byTransProtocol;
public byte byTransMode;
public byte byFactoryType;
public byte byDeviceType;
public byte byDispChan;
public byte bySubDispChan;
public byte byResolution;
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 2, ArraySubType = UnmanagedType.I1)]
public byte[] byRes;//2
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 32)]
public byte[] sUserName; //32
//public string sUserName;
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 16)]
public byte[] sPassword;//16
public void Init()
{
byStreamId = new byte[32];
byAddress = /*EquIP;*/new byte[64];
sUserName = /*"admin";*/ new byte[32];
sPassword = /*"12345";*/new byte[16];
byRes = new byte[2];
byRes1 = new byte[31];
byResolution = 0;
}
}
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_DEV_DDNS_INFO
{
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 64)]
public byte[] byDevAddress;//64
public byte byTransProtocol;
public byte byTransMode;
public byte byDdnsType;
public byte byRes1;
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 64)]
public byte[] byDdnsAddress;//64
public ushort wDdnsPort;
public byte byChanType;
public byte byFactoryType;
public Int32 dwChannel;
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 32)]
public byte[] byStreamId;//32
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 32)]
public byte[] sUserName;//32
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 16)]
public byte[] sPassword;//16
public ushort wDevPort;
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 2, ArraySubType = UnmanagedType.I1)]
public byte[] byRes2;//2
}//,*LPNET_DVR_DEV_DDNS_INFO;
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_VCA_YARD_TARRY
{
public NET_VCA_POLYGON struRegion;//åºåèå´
public ushort wDelay; //æ¾é£åºæ»çæ¶é´[1,120]ï¼åä½ï¼ç§
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 6, ArraySubType = UnmanagedType.I1)]
public byte[] byRes;
}
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_VCA_ADV_REACH_HEIGHT
{
public NET_VCA_POLYGON struRegion; //æé«æ线
public uint dwCrossDirection; //è·¨è¶æ¹å(详è§VCA_CROSS_DIRECTION): 0-ååï¼1-ä»å·¦å°å³2-ä»å³å°å·¦
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 4, ArraySubType = UnmanagedType.I1)]
public byte[] byRes; // ä¿çåè
}
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_VCA_ADV_TRAVERSE_PLANE
{
public NET_VCA_POLYGON struRegion; //è¦æé¢æ线
public uint dwCrossDirection; //è·¨è¶æ¹å(详è§VCA_CROSS_DIRECTION): 0-ååï¼1-ä»å·¦å°å³2-ä»å³å°å·¦
public byte bySensitivity; //çµæ度åæ°ï¼èå´[1,5]
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 3, ArraySubType = UnmanagedType.I1)]
public byte[] byRes; //ä¿çåè
}
//è¦æäºä»¶åæ°
[StructLayoutAttribute(LayoutKind.Explicit)]
public struct NET_VCA_EVENT_UNION
{
[FieldOffsetAttribute(0)]
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 23, ArraySubType = UnmanagedType.U4)]
public uint[] uLen;//åæ°
[FieldOffsetAttribute(0)]
public NET_VCA_TRAVERSE_PLANE struTraversePlane;//ç©¿è¶è¦æé¢åæ°
[FieldOffsetAttribute(0)]
public NET_VCA_AREA struArea;//è¿å
¥/离å¼åºååæ°
[FieldOffsetAttribute(0)]
public NET_VCA_INTRUSION struIntrusion;//å
¥ä¾µåæ°
[FieldOffsetAttribute(0)]
public NET_VCA_LOITER struLoiter;//å¾å¾åæ°
[FieldOffsetAttribute(0)]
public NET_VCA_TAKE_LEFT struTakeTeft;//丢å
/æ¡å
åæ°
[FieldOffsetAttribute(0)]
public NET_VCA_PARKING struParking;//å车åæ°
[FieldOffsetAttribute(0)]
public NET_VCA_RUN struRun;//å¥è·åæ°
[FieldOffsetAttribute(0)]
public NET_VCA_HIGH_DENSITY struHighDensity;//人åèéåæ°
[FieldOffsetAttribute(0)]
public NET_VCA_VIOLENT_MOTION struViolentMotion; //å§çè¿å¨
[FieldOffsetAttribute(0)]
public NET_VCA_REACH_HIGHT struReachHight; //æé«
[FieldOffsetAttribute(0)]
public NET_VCA_GET_UP struGetUp; //èµ·åº
[FieldOffsetAttribute(0)]
public NET_VCA_LEFT struLeft; //ç©åéç
[FieldOffsetAttribute(0)]
public NET_VCA_TAKE struTake; // ç©åæ¿å
[FieldOffsetAttribute(0)]
public NET_VCA_HUMAN_ENTER struHumanEnter; //人åè¿å
¥
[FieldOffsetAttribute(0)]
public NET_VCA_OVER_TIME struOvertime; //æä½è¶
æ¶
[FieldOffsetAttribute(0)]
public NET_VCA_STICK_UP struStickUp;//贴纸æ¡
[FieldOffsetAttribute(0)]
public NET_VCA_SCANNER struScanner;//读å¡å¨åæ°
[FieldOffsetAttribute(0)]
public NET_VCA_LEAVE_POSITION struLeavePos; //离å²åæ°
[FieldOffsetAttribute(0)]
public NET_VCA_TRAIL struTrail; //å°¾éåæ°
[FieldOffsetAttribute(0)]
public NET_VCA_FALL_DOWN struFallDown; //åå°åæ°
[FieldOffsetAttribute(0)]
public NET_VCA_AUDIO_ABNORMAL struAudioAbnormal; //声强çªå
[FieldOffsetAttribute(0)]
public NET_VCA_ADV_REACH_HEIGHT struReachHeight; //æ线æé«åæ°
[FieldOffsetAttribute(0)]
public NET_VCA_TOILET_TARRY struToiletTarry; //å¦åè¶
æ¶åæ°
[FieldOffsetAttribute(0)]
public NET_VCA_YARD_TARRY struYardTarry; //æ¾é£åºæ»çåæ°
[FieldOffsetAttribute(0)]
public NET_VCA_ADV_TRAVERSE_PLANE struAdvTraversePlane;//æ线è¦æé¢åæ°
}
// 尺寸è¿æ»¤å¨ç±»å
public enum SIZE_FILTER_MODE
{
IMAGE_PIX_MODE,//æ ¹æ®åç´ å¤§å°è®¾ç½®
REAL_WORLD_MODE,//æ ¹æ®å®é
大å°è®¾ç½®
DEFAULT_MODE // é»è®¤æ¨¡å¼
}
//尺寸è¿æ»¤å¨
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_VCA_SIZE_FILTER
{
public byte byActive;//æ¯å¦æ¿æ´»å°ºå¯¸è¿æ»¤å¨ 0-å¦ é0-æ¯
public byte byMode;//è¿æ»¤å¨æ¨¡å¼SIZE_FILTER_MODE
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 2, ArraySubType = UnmanagedType.I1)]
public byte[] byRes;//ä¿çï¼ç½®0
public NET_VCA_RECT struMiniRect;//æå°ç®æ æ¡,å
¨0表示ä¸è®¾ç½®
public NET_VCA_RECT struMaxRect;//æ大ç®æ æ¡,å
¨0表示ä¸è®¾ç½®
}
//è¦æè§åç»æ
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_VCA_ONE_RULE
{
public byte byActive;//æ¯å¦æ¿æ´»è§å,0-å¦,é0-æ¯
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 7, ArraySubType = UnmanagedType.I1)]
public byte[] byRes;//ä¿çï¼è®¾ç½®ä¸º0å段
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = NAME_LEN, ArraySubType = UnmanagedType.I1)]
public byte[] byRuleName;//è§åå称
public VCA_EVENT_TYPE dwEventType;//è¡ä¸ºåæäºä»¶ç±»å
public NET_VCA_EVENT_UNION uEventParam;//è¡ä¸ºåæäºä»¶åæ°
public NET_VCA_SIZE_FILTER struSizeFilter;//尺寸è¿æ»¤å¨
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_DAYS * MAX_TIMESEGMENT_2, ArraySubType = UnmanagedType.Struct)]
public NET_DVR_SCHEDTIME[] struAlarmTime;//å¸é²æ¶é´
public NET_DVR_HANDLEEXCEPTION_V30 struHandleType;//å¤çæ¹å¼
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_CHANNUM_V30, ArraySubType = UnmanagedType.I1)]
public byte[] byRelRecordChan;//æ¥è¦è§¦åçå½è±¡éé,为1表示触å该éé
}
//è¡ä¸ºåæé
ç½®ç»æä½
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_VCA_RULECFG
{
public uint dwSize;//ç»æé¿åº¦
public byte byPicProType;//æ¥è¦æ¶å¾çå¤çæ¹å¼ 0-ä¸å¤ç é0-ä¸ä¼
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 3, ArraySubType = UnmanagedType.I1)]
public byte[] byRes;
public NET_DVR_JPEGPARA struPictureParam;//å¾çè§æ ¼ç»æ
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_RULE_NUM, ArraySubType = UnmanagedType.Struct)]
public NET_VCA_ONE_RULE[] struRule;//è§åæ°ç»
}
//尺寸è¿æ»¤çç¥
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_VCA_FILTER_STRATEGY
{
public byte byStrategy; //尺寸è¿æ»¤çç¥ 0 - ä¸å¯ç¨ 1-é«åº¦å宽度è¿æ»¤,2-é¢ç§¯è¿æ»¤
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 11, ArraySubType = UnmanagedType.I1)]
public byte[] byRes; //ä¿ç
}
//è§å触ååæ°
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_VCA_RULE_TRIGGER_PARAM
{
public byte byTriggerMode; //è§åç触åæ¹å¼ï¼0- ä¸å¯ç¨ï¼1- è½¨è¿¹ç¹ 2- ç®æ é¢ç§¯
public byte byTriggerPoint; //触åç¹ï¼è§¦åæ¹å¼ä¸ºè½¨è¿¹ç¹æ¶ææ 0- ä¸,1-ä¸,2-ä¸
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 2, ArraySubType = UnmanagedType.I1)]
public byte[] byRes1; //ä¿ç
public float fTriggerArea; //触åç®æ é¢ç§¯ç¾åæ¯ [0,100]ï¼è§¦åæ¹å¼ä¸ºç®æ é¢ç§¯æ¶ææ
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 4, ArraySubType = UnmanagedType.I1)]
public byte[] byRes2; //ä¿ç
}
//è¦æè§åç»æ
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_VCA_ONE_RULE_V41
{
public byte byActive; //æ¯å¦æ¿æ´»è§å,0-å¦,é0-æ¯
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 5, ArraySubType = UnmanagedType.I1)]
public byte[] byRes1; //ä¿çï¼è®¾ç½®ä¸º0å段
public ushort wEventTypeEx; //è¡ä¸ºäºä»¶ç±»åæ©å±ï¼ç¨äºä»£æ¿å段dwEventTypeï¼åèVCA_RULE_EVENT_TYPE_EX
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = NAME_LEN, ArraySubType = UnmanagedType.I1)]
public byte[] byRuleName; //è§åå称
public VCA_EVENT_TYPE dwEventType; //è¡ä¸ºäºä»¶ç±»åï¼ä¿çæ¯ä¸ºäºå
¼å®¹ï¼åç»å»ºè®®ä½¿ç¨wEventTypeExè·åäºä»¶ç±»å
public NET_VCA_EVENT_UNION uEventParam; //è¡ä¸ºåæäºä»¶åæ°
public NET_VCA_SIZE_FILTER struSizeFilter; //尺寸è¿æ»¤å¨
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_DAYS * MAX_TIMESEGMENT_V30, ArraySubType = UnmanagedType.Struct)]
public NET_DVR_SCHEDTIME[] struAlarmTime;//å¸é²æ¶é´
public NET_DVR_HANDLEEXCEPTION_V30 struHandleType; //å¤çæ¹å¼
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_CHANNUM_V30, ArraySubType = UnmanagedType.I1)]
public byte[] byRelRecordChan; //æ¥è¦è§¦åçå½è±¡éé,为1表示触å该éé
public ushort wAlarmDelay; //æºè½æ¥è¦å»¶æ¶ï¼0-5s,1-10,2-30s,3-60s,4-120s,5-300s,6-600s
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 2, ArraySubType = UnmanagedType.I1)]
public byte[] byRes2; //ä¿ç
public NET_VCA_FILTER_STRATEGY struFilterStrategy; //尺寸è¿æ»¤çç¥
public NET_VCA_RULE_TRIGGER_PARAM struTriggerParam; //è§å触ååæ°
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 32, ArraySubType = UnmanagedType.I1)]
public byte[] byRes;
}
//è¡ä¸ºåæé
ç½®ç»æä½
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_VCA_RULECFG_V41
{
public uint dwSize; //ç»æé¿åº¦
public byte byPicProType; //æ¥è¦æ¶å¾çå¤çæ¹å¼ 0-ä¸å¤ç é0-ä¸ä¼
public byte byUpLastAlarm; //2011-04-06 æ¯å¦å
ä¸ä¼ æè¿ä¸æ¬¡çæ¥è¦
public byte byPicRecordEnable; /*2012-3-1æ¯å¦å¯ç¨å¾çåå¨, 0-ä¸å¯ç¨, 1-å¯ç¨*/
public byte byRes1;
public NET_DVR_JPEGPARA struPictureParam; //å¾çè§æ ¼ç»æ
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_RULE_NUM, ArraySubType = UnmanagedType.Struct)]
public NET_VCA_ONE_RULE_V41[] struRule; //è§åæ°ç»
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 32, ArraySubType = UnmanagedType.I1)]
public byte[] byRes;
}
//ç®åç®æ ç»æä½
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_VCA_TARGET_INFO
{
public uint dwID;//ç®æ ID ,人åå¯åº¦è¿é«æ¥è¦æ¶ä¸º0
public NET_VCA_RECT struRect; //ç®æ è¾¹çæ¡
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 4, ArraySubType = UnmanagedType.I1)]
public byte[] byRes;//ä¿ç
}
//ç®åçè§åä¿¡æ¯, å
å«è§åçåºæ¬ä¿¡æ¯
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_VCA_RULE_INFO
{
public byte byRuleID;//è§åID,0-7
public byte byRes;//ä¿ç
public ushort wEventTypeEx; //è¡ä¸ºäºä»¶ç±»åæ©å±ï¼ç¨äºä»£æ¿å段dwEventTypeï¼åèVCA_RULE_EVENT_TYPE_EX
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = NAME_LEN, ArraySubType = UnmanagedType.I1)]
public byte[] byRuleName;//è§åå称
public VCA_EVENT_TYPE dwEventType;//è¦æäºä»¶ç±»å
public NET_VCA_EVENT_UNION uEventParam;//äºä»¶åæ°
}
//å端设å¤å°åä¿¡æ¯ï¼æºè½åæ仪表示çæ¯å端设å¤çå°åä¿¡æ¯ï¼å
¶ä»è®¾å¤è¡¨ç¤ºæ¬æºçå°å
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_VCA_DEV_INFO
{
public NET_DVR_IPADDR struDevIP;//å端设å¤å°åï¼
public ushort wPort;//å端设å¤ç«¯å£å·ï¼
public byte byChannel;//å端设å¤ééï¼
public byte byRes;// ä¿çåè
}
//è¡ä¸ºåæç»æä¸æ¥ç»æ
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_VCA_RULE_ALARM
{
public uint dwSize;//ç»æé¿åº¦
public uint dwRelativeTime;//ç¸å¯¹æ¶æ
public uint dwAbsTime;//ç»å¯¹æ¶æ
public NET_VCA_RULE_INFO struRuleInfo;//äºä»¶è§åä¿¡æ¯
public NET_VCA_TARGET_INFO struTargetInfo;//æ¥è¦ç®æ ä¿¡æ¯
public NET_VCA_DEV_INFO struDevInfo;//å端设å¤ä¿¡æ¯
public uint dwPicDataLen;//è¿åå¾ççé¿åº¦ 为0表示没æå¾çï¼å¤§äº0表示该ç»æåé¢ç´§è·å¾çæ°æ®*/
public byte byPicType; // 0-æ®éå¾ç 1-对æ¯å¾ç
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 3, ArraySubType = UnmanagedType.I1)]
public byte[] byRes; // ä¿çåè
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 3, ArraySubType = UnmanagedType.U4)]
public uint[] dwRes;//ä¿çï¼è®¾ç½®ä¸º0
public IntPtr pImage;//æåå¾ççæé
}
//è¡ä¸ºåæè§åDSPä¿¡æ¯å å ç»æ
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_VCA_DRAW_MODE
{
public uint dwSize;
public byte byDspAddTarget;//ç¼ç æ¯å¦å å ç®æ
public byte byDspAddRule;//ç¼ç æ¯å¦å å è§å
public byte byDspPicAddTarget;//æå¾æ¯å¦å å ç®æ
public byte byDspPicAddRule;//æå¾æ¯å¦å å è§å
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 4, ArraySubType = UnmanagedType.I1)]
public byte[] byRes;
}
//ç©ä½ç±»å
public enum OBJECT_TYPE_ENUM
{
ENUM_OBJECT_TYPE_COAT = 1 //ä¸è¡£
}
//ç©ä½é¢è²æ¡ä»¶ç»æä½
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_OBJECT_COLOR_COND
{
public uint dwChannel; //ééå·
public uint dwObjType; //ç©ä½ç±»åï¼åè§OBJECT_TYPE_ENUM
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 64, ArraySubType = UnmanagedType.I1)]
public byte[] byRes; //ä¿ç
}
//å¾çåæ°
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_PIC
{
public byte byPicType; //å¾çç±»åï¼1-jpg
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 3, ArraySubType = UnmanagedType.I1)]
public byte[] byRes1; //ä¿ç
public uint dwPicWidth; //å¾ç宽度
public uint dwPicHeight; //å¾çé«åº¦
public uint dwPicDataLen; //å¾çæ°æ®å®é
大å°
public uint dwPicDataBuffLen; //å¾çæ°æ®ç¼å²åºå¤§å°
public IntPtr byPicDataBuff; //å¾çæ°æ®ç¼å²åº
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 40, ArraySubType = UnmanagedType.I1)]
public byte[] byRes2; //ä¿ç
}
//é¢è²èåä½
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_OBJECT_COLOR_UNION
{
public NET_DVR_COLOR struColor; //é¢è²å¼
public NET_DVR_PIC struPicture; //å¾ç
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 64, ArraySubType = UnmanagedType.I1)]
public byte[] byRes; //ä¿ç
}
//ç©ä½é¢è²åæ°ç»æä½
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_OBJECT_COLOR
{
public uint dwSize; //ç»æä½å¤§å°
public byte byEnable; //0-ä¸å¯ç¨ï¼1-å¯ç¨
public byte byColorMode; //åè²æ¹å¼ï¼1-é¢è²å¼ï¼2-å¾ç
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 2, ArraySubType = UnmanagedType.I1)]
public byte[] byRes1; //ä¿ç
public NET_DVR_OBJECT_COLOR_UNION uObjColor; //ç©ä½é¢è²èåä½ï¼åå¼ä¾èµäºåè²æ¹å¼
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 64, ArraySubType = UnmanagedType.I1)]
public byte[] byRes2; //ä¿ç
}
//åºåç±»å
public enum AREA_TYPE_ENUM
{
ENUM_OVERLAP_REGION = 1,//å
±ååºå
ENUM_BED_LOCATION = 2 //åºéºä½ç½®
}
//è¾
å©åºå
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_AUXAREA
{
public uint dwAreaType; //åºåç±»åï¼åè§AREA_TYPE_ENUM
public byte byEnable; //0-ä¸å¯ç¨ï¼1-å¯ç¨
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 3, ArraySubType = UnmanagedType.I1)]
public byte[] byRes1; //ä¿ç
public NET_VCA_POLYGON struPolygon; //åºå
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 16, ArraySubType = UnmanagedType.I1)]
public byte[] byRes2; //ä¿ç
}
//è¾
å©åºåå表
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_AUXAREA_LIST
{
public uint dwSize; // ç»æä½å¤§å°
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_AUXAREA_NUM, ArraySubType = UnmanagedType.Struct)]
public NET_DVR_AUXAREA[] struArea; //è¾
å©åºå
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 64, ArraySubType = UnmanagedType.I1)]
public byte[] byRes2; // ä¿ç
}
//ééå·¥ä½æ¨¡å¼
public enum CHAN_WORKMODE_ENUM
{
ENUM_CHAN_WORKMODE_INDEPENDENT = 1, //ç¬ç«æ¨¡å¼
ENUM_CHAN_WORKMODE_MASTER = 2, //主模å¼
ENUM_CHAN_WORKMODE_SLAVE = 3 //ä»æ¨¡å¼
}
//ééå·¥ä½æ¨¡å¼åæ°ç»æä½
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_CHANNEL_WORKMODE
{
public uint dwSize; //ç»æä½å¤§å°
public byte byWorkMode; //å·¥ä½æ¨¡å¼ï¼åè§CHAN_WORKMODE_ENUM
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 63, ArraySubType = UnmanagedType.I1)]
public byte[] byRes; //ä¿ç
}
//设å¤ééåæ°ç»æä½
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_CHANNEL
{
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_DOMAIN_NAME, ArraySubType = UnmanagedType.I1)]
public byte[] byAddress; //设å¤IPæåå
public ushort wDVRPort; //端å£å·
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 2, ArraySubType = UnmanagedType.I1)]
public byte[] byRes1; //ä¿ç
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = NAME_LEN, ArraySubType = UnmanagedType.I1)]
public byte[] sUserName; //主æºç¨æ·å
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = PASSWD_LEN, ArraySubType = UnmanagedType.I1)]
public byte[] sPassword; //主æºå¯ç
public uint dwChannel; //ééå·
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 32, ArraySubType = UnmanagedType.I1)]
public byte[] byRes2; //ä¿ç
}
//ä»ééä¿¡æ¯èåä½
[StructLayout(LayoutKind.Explicit)]
public struct NET_DVR_SLAVE_CHANNEL_UNION
{
[FieldOffsetAttribute(0)]
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 152, ArraySubType = UnmanagedType.I1)]
public byte[] byRes; //èåä½å¤§å°
[FieldOffsetAttribute(0)]
public uint dwLocalChannel; //æ¬æºéé
[FieldOffsetAttribute(0)]
public NET_DVR_CHANNEL struRemoteChannel; //è¿ç¨éé
}
//ä»ééåæ°ç»æä½
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_SLAVE_CHANNEL_PARAM
{
public byte byChanType; //ä»ééç±»åï¼1-æ¬æºééï¼2-è¿ç¨éé
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 3, ArraySubType = UnmanagedType.I1)]
public byte[] byRes1; //ä¿ç
public NET_DVR_SLAVE_CHANNEL_UNION uSlaveChannel; //ä»ééèåä½ï¼åå¼ä¾èµäºbyChanType
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 64, ArraySubType = UnmanagedType.I1)]
public byte[] byRes2; //ä¿ç
}
//ä»ééåæ°é
ç½®ç»æä½
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_SLAVE_CHANNEL_CFG
{
public uint dwSize; //ç»æä½å¤§å°
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_SLAVE_CHANNEL_NUM, ArraySubType = UnmanagedType.Struct)]
public NET_DVR_SLAVE_CHANNEL_PARAM[] struChanParam;//ä»ééåæ°
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 64, ArraySubType = UnmanagedType.I1)]
public byte[] byRes; //ä¿ç
}
//è§é¢è´¨éè¯ææ£æµäºä»¶
public enum VQD_EVENT_ENUM
{
ENUM_VQD_EVENT_BLUR = 1, //å¾å模ç³
ENUM_VQD_EVENT_LUMA = 2, //亮度å¼å¸¸
ENUM_VQD_EVENT_CHROMA = 3, //å¾ååè²
ENUM_VQD_EVENT_SNOW = 4, //éªè±å¹²æ°
ENUM_VQD_EVENT_STREAK = 5, //æ¡çº¹å¹²æ°
ENUM_VQD_EVENT_FREEZE = 6, //ç»é¢å»ç»
ENUM_VQD_EVENT_SIGNAL_LOSS = 7, //ä¿¡å·ä¸¢å¤±
ENUM_VQD_EVENT_PTZ = 8, //äºå°å¤±æ§
ENUM_VQD_EVENT_SCNENE_CHANGE = 9, //åºæ¯çªå
ENUM_VQD_EVENT_VIDEO_ABNORMAL = 10, //è§é¢å¼å¸¸
ENUM_VQD_EVENT_VIDEO_BLOCK = 11, //è§é¢é®æ¡
}
//è§é¢è´¨éè¯æäºä»¶æ¡ä»¶ç»æä½
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_VQD_EVENT_COND
{
public uint dwChannel; //ééå·
public uint dwEventType; //æ£æµäºä»¶ç±»åï¼åè§VQD_EVENT_ENUM
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 64, ArraySubType = UnmanagedType.I1)]
public byte[] byRes; //ä¿ç
}
//è§é¢è´¨éè¯æäºä»¶åæ°
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_VQD_EVENT_PARAM
{
public byte byThreshold; //æ¥è¦éå¼ï¼èå´[0,100]
public byte byTriggerMode; //1-æç»è§¦åï¼2-å次触å
public byte byUploadPic; //0-ä¸ä¸ä¼ å¾çï¼1-ä¸ä¼ å¾çï¼æ 论æ¯å¦ä¸ä¼ å¾çï¼äºåé½å¯ä»¥ä»è®¾å¤è·å该äºä»¶æ对åºææ°çä¸å¼ æ¥è¦å¾çï¼åè§æ¥å£NET_DVR_StartDownload
public byte byRes1; //ä¿ç
public uint dwTimeInterval; //æç»è§¦åæ¥è¦æ¶é´é´éï¼èå´[0,3600] åä½ï¼ç§
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 64, ArraySubType = UnmanagedType.I1)]
public byte[] byRes2; //ä¿ç
}
//è§é¢è´¨éè¯æäºä»¶è§å
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_VQD_EVENT_RULE
{
public uint dwSize; //ç»æä½å¤§å°
public byte byEnable; //0-ä¸å¯ç¨ï¼1-å¯ç¨
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 3, ArraySubType = UnmanagedType.I1)]
public byte[] byRes1; //ä¿ç
public NET_DVR_VQD_EVENT_PARAM struEventParam; //è§é¢è´¨éè¯æäºä»¶åæ°
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_DAYS * MAX_TIMESEGMENT_V30, ArraySubType = UnmanagedType.Struct)]
public NET_DVR_SCHEDTIME[] struAlarmTime;//æ£æµæ¶é´
public NET_DVR_HANDLEEXCEPTION_V30 struHandleType; //å¤çæ¹å¼
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_IVMS_IP_CHANNEL, ArraySubType = UnmanagedType.I1)]
public byte[] byRelRecordChan; //æ¥è¦è§¦åçå½è±¡ééï¼1表示触å该ééï¼0表示ä¸è§¦å
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 128, ArraySubType = UnmanagedType.I1)]
public byte[] byRes2; //ä¿ç
}
//åºååºæ¯åæ°
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_BASELINE_SCENE
{
public uint dwSize; //ç»æä½å¤§å°
public byte byEnable; //0-ä¸å¯ç¨ï¼1-å¯ç¨
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 63, ArraySubType = UnmanagedType.I1)]
public byte[] byRes; //ä¿ç
}
//åºååºæ¯æä½åæ°ç»æä½
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_CONTROL_BASELINE_SCENE_PARAM
{
public uint dwSize; //ç»æä½å¤§å°
public uint dwChannel; //ééå·
public byte byCommand; //æä½ç±»åï¼1-æ¤å段ä¿çï¼æä¸ä½¿ç¨ï¼2-æ´æ°åºååºæ¯
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 127, ArraySubType = UnmanagedType.I1)]
public byte[] byRes; //ä¿ç
}
//è§é¢è´¨éè¯ææ¥è¦ç»æä½
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_VQD_ALARM
{
public uint dwSize; //ç»æä½å¤§å°
public uint dwRelativeTime; //ç¸å¯¹æ¶æ
public uint dwAbsTime; //ç»å¯¹æ¶æ
public NET_VCA_DEV_INFO struDevInfo; //å端设å¤ä¿¡æ¯
public uint dwEventType; //äºä»¶ç±»åï¼åèVQD_EVENT_ENUM
public float fThreshold; //æ¥è¦éå¼[0.000,1.000]
public uint dwPicDataLen; //å¾çé¿åº¦ï¼ä¸º0表示没æå¾ç
public IntPtr pImage; //æåå¾ççæé
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 128, ArraySubType = UnmanagedType.I1)]
public byte[] byRes; //ä¿ç
}
//æ å®ç¹åç»æ
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_CB_POINT
{
public NET_VCA_POINT struPoint; //æ å®ç¹ï¼ä¸»æåæºï¼æªæºï¼
public NET_DVR_PTZPOS struPtzPos; //çæºè¾å
¥çPTZåæ
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 8, ArraySubType = UnmanagedType.I1)]
public byte[] byRes;
}
//æ å®åæ°é
ç½®ç»æ
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_TRACK_CALIBRATION_PARAM
{
public byte byPointNum; //æææ å®ç¹ä¸ªæ°
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 3, ArraySubType = UnmanagedType.I1)]
public byte[] byRes;
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_CALIB_PT, ArraySubType = UnmanagedType.Struct)]
public NET_DVR_CB_POINT[] struCBPoint; //æ å®ç¹ç»
}
//çæºé
ç½®ç»æ
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_TRACK_CFG
{
public uint dwSize; //ç»æé¿åº¦
public byte byEnable; //æ å®ä½¿è½
public byte byFollowChan; // 被æ§å¶çä»éé
public byte byDomeCalibrate; //设置æºè½è·è¸ªçæºæ å®ï¼1设置 0ä¸è®¾ç½®
public byte byRes; // ä¿çåè
public NET_DVR_TRACK_CALIBRATION_PARAM struCalParam; //æ å®ç¹ç»
}
//è·è¸ªæ¨¡å¼
public enum TRACK_MODE
{
MANUAL_CTRL = 0, //æå¨è·è¸ª
ALARM_TRACK //æ¥è¦è§¦åè·è¸ª
}
//æå¨æ§å¶ç»æ
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_MANUAL_CTRL_INFO
{
public NET_VCA_POINT struCtrlPoint;
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 8, ArraySubType = UnmanagedType.I1)]
public byte[] byRes;
}
//è·è¸ªæ¨¡å¼ç»æ
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_TRACK_MODE
{
public uint dwSize; //ç»æé¿åº¦
public byte byTrackMode; //è·è¸ªæ¨¡å¼
public byte byRuleConfMode; //è§åé
ç½®è·è¸ªæ¨¡å¼0-æ¬å°é
ç½®è·è¸ªï¼1-è¿ç¨é
ç½®è·è¸ª
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 2, ArraySubType = UnmanagedType.I1)]
public byte[] byRes; //ä¿çï¼ç½®0
[StructLayout(LayoutKind.Explicit)]
public struct uModeParam
{
[FieldOffsetAttribute(0)]
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 4, ArraySubType = UnmanagedType.U4)]
public uint[] dwULen;
[FieldOffsetAttribute(0)]
public NET_DVR_MANUAL_CTRL_INFO struManualCtrl;//æå¨è·è¸ªç»æ
}
}
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_ALARM_JPEG
{
public byte byPicProType; /*æ¥è¦æ¶å¾çå¤çæ¹å¼ 0-ä¸å¤ç 1-ä¸ä¼ */
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 3, ArraySubType = UnmanagedType.I1)]
public byte[] byRes; //ä¿çåè
public NET_DVR_JPEGPARA struPicParam; /*å¾çè§æ ¼ç»æ*/
}
//åæ仪è¡ä¸ºåæè§åç»æ
//è¦æè§åç»æ
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_IVMS_ONE_RULE
{
public byte byActive;/* æ¯å¦æ¿æ´»è§å,0-å¦, é0-æ¯ */
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 7, ArraySubType = UnmanagedType.I1)]
public byte[] byRes1;//ä¿çï¼è®¾ç½®ä¸º0å段
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = NAME_LEN, ArraySubType = UnmanagedType.I1)]
public byte[] byRuleName;//è§åå称
public VCA_EVENT_TYPE dwEventType;//è¡ä¸ºåæäºä»¶ç±»å
public NET_VCA_EVENT_UNION uEventParam;//è¡ä¸ºåæäºä»¶åæ°
public NET_VCA_SIZE_FILTER struSizeFilter;//尺寸è¿æ»¤å¨
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 68, ArraySubType = UnmanagedType.I1)]
public byte[] byRes2;/*ä¿çï¼è®¾ç½®ä¸º0*/
}
// åæ仪è§åç»æ
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_IVMS_RULECFG
{
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_RULE_NUM, ArraySubType = UnmanagedType.Struct)]
public NET_IVMS_ONE_RULE[] struRule; //è§åæ°ç»
}
// IVMSè¡ä¸ºåæé
ç½®ç»æ
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_IVMS_BEHAVIORCFG
{
public uint dwSize;
public byte byPicProType;//æ¥è¦æ¶å¾çå¤çæ¹å¼ 0-ä¸å¤ç é0-ä¸ä¼
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 3, ArraySubType = UnmanagedType.I1)]
public byte[] byRes;
public NET_DVR_JPEGPARA struPicParam;//å¾çè§æ ¼ç»æ
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_DAYS * MAX_TIMESEGMENT, ArraySubType = UnmanagedType.Struct)]
public NET_IVMS_RULECFG[] struRuleCfg;//æ¯ä¸ªæ¶é´æ®µå¯¹åºè§å
}
//æºè½åæ仪åæµè®¡ååç»æ
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_IVMS_DEVSCHED
{
public NET_DVR_SCHEDTIME struTime;//æ¶é´åæ°
public NET_DVR_PU_STREAM_CFG struPUStream;//å端åæµåæ°
}
//æºè½åæ仪åæ°é
ç½®ç»æ
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_IVMS_STREAMCFG
{
public uint dwSize;
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_DAYS * MAX_TIMESEGMENT, ArraySubType = UnmanagedType.Struct)]
public NET_IVMS_DEVSCHED[] struDevSched;//ææ¶é´æ®µé
ç½®å端åæµä»¥åè§åä¿¡æ¯
}
//å±è½åºå
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_VCA_MASK_REGION
{
public byte byEnable;//æ¯å¦æ¿æ´», 0-å¦ï¼é0-æ¯
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 3, ArraySubType = UnmanagedType.I1)]
public byte[] byRes;//ä¿çï¼ç½®0
public NET_VCA_POLYGON struPolygon;//å±è½å¤è¾¹å½¢
}
//å±è½åºåé¾è¡¨ç»æ
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_VCA_MASK_REGION_LIST
{
public uint dwSize;//ç»æé¿åº¦
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 4, ArraySubType = UnmanagedType.I1)]
public byte[] byRes; //ä¿çï¼ç½®0
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_MASK_REGION_NUM, ArraySubType = UnmanagedType.Struct)]
public NET_VCA_MASK_REGION[] struMask;//å±è½åºåæ°ç»
}
//ATMè¿å
¥åºååæ°
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_VCA_ENTER_REGION
{
public uint dwSize;
public byte byEnable;//æ¯å¦æ¿æ´»ï¼0-å¦ï¼é0-æ¯
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 3, ArraySubType = UnmanagedType.I1)]
public byte[] byRes1;
public NET_VCA_POLYGON struPolygon;//è¿å
¥åºå
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 16, ArraySubType = UnmanagedType.I1)]
public byte[] byRes2;
}
//IVMSå±è½åºåé¾è¡¨
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_IVMS_MASK_REGION_LIST
{
public uint dwSize;//ç»æé¿åº¦
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_DAYS * MAX_TIMESEGMENT, ArraySubType = UnmanagedType.Struct)]
public NET_VCA_MASK_REGION_LIST[] struList;
}
//IVMSçATMè¿å
¥åºååæ°
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_IVMS_ENTER_REGION
{
public uint dwSize;
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_DAYS * MAX_TIMESEGMENT, ArraySubType = UnmanagedType.Struct)]
public NET_VCA_ENTER_REGION[] struEnter;//è¿å
¥åºå
}
// ivms æ¥è¦å¾çä¸ä¼ ç»æ
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_IVMS_ALARM_JPEG
{
public byte byPicProType;
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 3, ArraySubType = UnmanagedType.I1)]
public byte[] byRes;
public NET_DVR_JPEGPARA struPicParam;
}
// IVMS åæ£ç´¢é
ç½®
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_IVMS_SEARCHCFG
{
public uint dwSize;
public NET_DVR_MATRIX_DEC_REMOTE_PLAY struRemotePlay;// è¿ç¨åæ¾
public NET_IVMS_ALARM_JPEG struAlarmJpeg;// æ¥è¦ä¸ä¼ å¾çé
ç½®
public NET_IVMS_RULECFG struRuleCfg;//IVMS è¡ä¸ºè§åé
ç½®
}
/************************************end******************************************/
//NAS认è¯é
ç½®
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_IDENTIFICATION_PARAM
{
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = NAME_LEN, ArraySubType = UnmanagedType.I1)]
public byte[] sUserName; /* ç¨æ·å 32*/
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = PASSWD_LEN, ArraySubType = UnmanagedType.I1)]
public byte[] sPassword; /* å¯ç 16*/
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 4, ArraySubType = UnmanagedType.I1)]
public byte[] byRes1; //ä¿ç
}
[StructLayoutAttribute(LayoutKind.Explicit)]
public struct NET_DVR_MOUNT_PARAM_UNION
{
[FieldOffsetAttribute(0)]
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 52, ArraySubType = UnmanagedType.I1)]
public byte[] uLen; //èåä½ç»æ大å°
[FieldOffsetAttribute(0)]
public NET_DVR_IDENTIFICATION_PARAM struIdentificationParam;//(SMB/CIFSæ¶çæ)
}
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_NAS_MOUNT_PARAM
{
public byte byMountType; //0ï½ä¿ç,1~NFS, 2~ SMB/CIFS
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 3, ArraySubType = UnmanagedType.I1)]
public byte[] byRes;
public NET_DVR_MOUNT_PARAM_UNION uMountParam;
}
[StructLayoutAttribute(LayoutKind.Explicit)]
public struct NET_DVR_MOUNTMETHOD_PARAM_UNION
{
[FieldOffsetAttribute(0)]
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 56, ArraySubType = UnmanagedType.I1)]
public byte[] uLen; //èåä½ç»æ大å°
[FieldOffsetAttribute(0)]
public NET_DVR_NAS_MOUNT_PARAM struNasMountParam;//NASæè½½æ¹å¼ (byNetDiskType为NFS(NAS)æ¶çæ)
}
//ç½ç»ç¡¬çç»æé
ç½®
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_SINGLE_NET_DISK_INFO
{
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 4, ArraySubType = UnmanagedType.I1)]
public byte[] byRes1;//ä¿ç
public NET_DVR_IPADDR struNetDiskAddr;//ç½ç»ç¡¬çå°å
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = PATHNAME_LEN, ArraySubType = UnmanagedType.I1)]
public byte[] sDirectory;// PATHNAME_LEN = 128
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 68, ArraySubType = UnmanagedType.I1)]
public byte[] byRes2;//ä¿ç
}
public const int MAX_NET_DISK = 16;
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_NET_DISKCFG
{
public uint dwSize;
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_NET_DISK, ArraySubType = UnmanagedType.Struct)]
public NET_DVR_SINGLE_NET_DISK_INFO[] struNetDiskParam;
}
//äºä»¶ç±»å
//主类å
public enum MAIN_EVENT_TYPE
{
EVENT_MOT_DET = 0,//移å¨ä¾¦æµ
EVENT_ALARM_IN = 1,//æ¥è¦è¾å
¥
EVENT_VCA_BEHAVIOR = 2,//è¡ä¸ºåæ
EVENT_INQUEST = 3, //审讯äºä»¶
EVENT_VCA_DETECTION = 4, //æºè½ä¾¦æµ
EVENT_STREAM_INFO = 100 //æµIDä¿¡æ¯
}
public const int INQUEST_START_INFO = 0x1001; /*讯é®å¼å§ä¿¡æ¯*/
public const int INQUEST_STOP_INFO = 0x1002; /*讯é®åæ¢ä¿¡æ¯*/
public const int INQUEST_TAG_INFO = 0x1003; /*éç¹æ è®°ä¿¡æ¯*/
public const int INQUEST_SEGMENT_INFO = 0x1004; /*审讯çæç¶æä¿¡æ¯*/
public enum VCA_DETECTION_MINOR_TYPE:uint
{
EVENT_VCA_TRAVERSE_PLANE = 1, //è¶è¦ä¾¦æµ
EVENT_FIELD_DETECTION, //åºåå
¥ä¾µä¾¦æµ
EVENT_AUDIO_INPUT_ALARM, //é³é¢è¾å
¥å¼å¸¸
EVENT_SOUND_INTENSITY_ALARM, //声强çªå侦æµ
EVENT_FACE_DETECTION, //人è¸ä¾¦æµ
EVENT_VIRTUAL_FOCUS_ALARM, /*èç¦ä¾¦æµ*/
EVENT_SCENE_CHANGE_ALARM, /*åºæ¯åæ´ä¾¦æµ*/
EVENT_ALL = 0xffffffff //表示å
¨é¨
}
//è¡ä¸ºåæ主类å对åºçæ¤ç±»åï¼ 0xffff表示å
¨é¨
public enum BEHAVIOR_MINOR_TYPE
{
EVENT_TRAVERSE_PLANE = 0,// ç©¿è¶è¦æé¢,
EVENT_ENTER_AREA,//ç®æ è¿å
¥åºå,æ¯æåºåè§å
EVENT_EXIT_AREA,//ç®æ 离å¼åºå,æ¯æåºåè§å
EVENT_INTRUSION,// å¨çå
¥ä¾µ,æ¯æåºåè§å
EVENT_LOITER,//å¾å¾,æ¯æåºåè§å
EVENT_LEFT_TAKE,//丢å
æ¡å
,æ¯æåºåè§å
EVENT_PARKING,//å车,æ¯æåºåè§å
EVENT_RUN,//å¥è·,æ¯æåºåè§å
EVENT_HIGH_DENSITY,//åºåå
人åå¯åº¦,æ¯æåºåè§å
EVENT_STICK_UP,//贴纸æ¡,æ¯æåºåè§å
EVENT_INSTALL_SCANNER,//å®è£
读å¡å¨,æ¯æåºåè§å
EVENT_OPERATE_OVER_TIME, // æä½è¶
æ¶
EVENT_FACE_DETECT, // å¼å¸¸äººè¸
EVENT_LEFT, // ç©åéç
EVENT_TAKE, // ç©åæ¿å
EVENT_LEAVE_POSITION, //离å²äºä»¶
EVENT_TRAIL_INFO = 16, //å°¾é
EVENT_FALL_DOWN_INFO = 19, //åå°
EVENT_OBJECT_PASTE = 20, // å¼ç©ç²è´´åºå
EVENT_FACE_CAPTURE_INFO = 21, //æ£å¸¸äººè¸
EVENT_MULTI_FACES_INFO = 22, //å¤å¼ 人è¸
EVENT_AUDIO_ABNORMAL_INFO = 23, //声强çªå
EVENT_DETECT = 24 //æºè½ä¾¦æµ
}
// 主类å100ï¼å¯¹åºçå°ç±»å
public enum STREAM_INFO_MINOR_TYPE
{
EVENT_STREAM_ID = 0, // æµID
EVENT_TIMING = 1, // å®æ¶å½å
EVENT_MOTION_DETECT = 2, // 移å¨ä¾¦æµ
EVENT_ALARM = 3, // æ¥è¦å½å
EVENT_ALARM_OR_MOTION_DETECT = 4, // æ¥è¦æ移å¨ä¾¦æµ
EVENT_ALARM_AND_MOTION_DETECT = 5, // æ¥è¦å移å¨ä¾¦æµ
EVENT_COMMAND_TRIGGER = 6, // å½ä»¤è§¦å
EVENT_MANNUAL = 7, // æå¨å½å
EVENT_BACKUP_VOLUME = 8 // åæ¡£å·å½å
}
//é¦è¯ºCVR
public const int MAX_ID_COUNT = 256;
public const int MAX_STREAM_ID_COUNT = 1024;
public const int STREAM_ID_LEN = 32;
public const int PLAN_ID_LEN = 32;
// æµä¿¡æ¯ - 72åèé¿
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_STREAM_INFO
{
public uint dwSize;
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = STREAM_ID_LEN, ArraySubType = UnmanagedType.I1)]
public byte[] byID; //IDæ°æ®
public uint dwChannel; //å
³è设å¤ééï¼çäº0xffffffffæ¶ï¼è¡¨ç¤ºä¸å
³è
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 32, ArraySubType = UnmanagedType.I1)]
public byte[] byRes; //ä¿ç
public void init()
{
byID = new byte[STREAM_ID_LEN];
byRes = new byte[32];
}
}
//äºä»¶æç´¢æ¡ä»¶ 200-04-07 9000_1.1
public const int SEARCH_EVENT_INFO_LEN = 300;
//æ¥è¦è¾å
¥
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct EVENT_ALARM_BYBIT
{
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_ALARMIN_V30, ArraySubType = UnmanagedType.I1)]
public byte[] byAlarmInNo;//æ¥è¦è¾å
¥å·ï¼byAlarmInNo[0]è¥ç½®1å表示æ¥æ¾ç±æ¥è¦è¾å
¥1触åçäºä»¶
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = SEARCH_EVENT_INFO_LEN - MAX_ALARMIN_V30, ArraySubType = UnmanagedType.I1)]
public byte[] byRes;
public void init()
{
byAlarmInNo = new byte[MAX_ALARMIN_V30];
byRes = new byte[SEARCH_EVENT_INFO_LEN - MAX_CHANNUM_V30];
}
}
//æ¥è¦è¾å
¥ æå¼è¡¨ç¤º
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct EVENT_ALARM_BYVALUE
{
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 128, ArraySubType = UnmanagedType.U2)]
public ushort[] wAlarmInNo;//æ¥è¦è¾å
¥å·ï¼byAlarmInNo[0]è¥ç½®1å表示æ¥æ¾ç±æ¥è¦è¾å
¥1触åçäºä»¶
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 44, ArraySubType = UnmanagedType.I1)]
public byte[] byRes;
public void init()
{
wAlarmInNo = new ushort[128];
byRes = new byte[44];
}
}
//移å¨ä¾¦æµ
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct EVENT_MOTION_BYBIT
{
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_CHANNUM_V30, ArraySubType = UnmanagedType.I1)]
public byte[] byMotDetChanNo;//移å¨ä¾¦æµééï¼byMotDetChanNo[0]è¥ç½®1å表示æ¥æ¾ç±éé1åç移å¨ä¾¦æµè§¦åçäºä»¶
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = SEARCH_EVENT_INFO_LEN - MAX_CHANNUM_V30, ArraySubType = UnmanagedType.I1)]
public byte[] byRes;
public void init()
{
byMotDetChanNo = new byte[MAX_CHANNUM_V30];
byRes = new byte[SEARCH_EVENT_INFO_LEN - MAX_CHANNUM_V30];
}
}
//移å¨ä¾¦æµ--æå¼
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct EVENT_MOTION_BYVALUE
{
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 64, ArraySubType = UnmanagedType.U2)]
public ushort[] wMotDetChanNo;//æ¥è¦è¾å
¥å·ï¼byAlarmInNo[0]è¥ç½®1å表示æ¥æ¾ç±æ¥è¦è¾å
¥1触åçäºä»¶
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 172, ArraySubType = UnmanagedType.I1)]
public byte[] byRes;
public void init()
{
wMotDetChanNo = new ushort[64];
byRes = new byte[172];
}
}
//è¡ä¸ºåæ
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct EVENT_VCA_BYBIT
{
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_CHANNUM_V30, ArraySubType = UnmanagedType.I1)]
public byte[] byChanNo;//触åäºä»¶çéé
public byte byRuleID;//è§åIDï¼0xff表示å
¨é¨
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 235, ArraySubType = UnmanagedType.I1)]
public byte[] byRes1;//ä¿ç
public void init()
{
byChanNo = new byte[MAX_CHANNUM_V30];
byRes1 = new byte[235];
}
}
//è¡ä¸ºåæ--æå¼æ¹å¼æ¥æ¾
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct EVENT_VCA_BYVALUE
{
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 64, ArraySubType = UnmanagedType.U2)]
public ushort[] wChanNo; //触åäºä»¶çéé
public byte byRuleID; //è¡ä¸ºåæç±»åï¼è§å0xff表示å
¨é¨ï¼ä»0å¼å§
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 171, ArraySubType = UnmanagedType.I1)]
public byte[] byRes; /*ä¿ç*/
public void init()
{
wChanNo = new ushort[64];
byRes = new byte[171];
}
}
//审讯äºä»¶æç´¢æ¡ä»¶
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct EVENT_INQUEST_PARAM
{
public byte byRoomIndex; //审讯室ç¼å·,ä»1å¼å§
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 299, ArraySubType = UnmanagedType.I1)]
public byte[] byRes; //ä¿ç
public void init()
{
byRes = new byte[299];
}
}
//æºè½ä¾¦æµæ¥æ¾æ¡ä»¶
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct EVENT_VCADETECT_BYBIT
{
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 256, ArraySubType = UnmanagedType.I1)]
public byte[] byChan;//触åæºè½ä¾¦æµçééå·ï¼ææ°ç»ä¸æ 表示ï¼byChan[0]è¥ç½®1å表示æ¥æ¾ç±éé1åç移å¨ä¾¦æµè§¦åçäºä»¶
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 44, ArraySubType = UnmanagedType.I1)]
public byte[] byRes; //ä¿ç
public void init()
{
byChan = new byte[256];
byRes = new byte[44];
}
}
//æºè½ä¾¦æµæ¥æ¾æ¡ä»¶ ï¼ééå·æå¼è¡¨ç¤º
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct EVENT_VCADETECT_BYVALUE
{
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_CHANNUM_V30-1, ArraySubType = UnmanagedType.U4)]
public uint[] dwChanNo;// 触åééå·,æå¼è¡¨ç¤ºï¼0xffffffffæ æï¼ä¸åç»æ°æ®ä¹è¡¨ç¤ºæ æå¼
public byte byAll;//0-表示ä¸æ¯å
¨é¨ï¼1-表示å
¨é¨ã
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 47, ArraySubType = UnmanagedType.I1)]
public byte[] byRes;
public void init()
{
dwChanNo = new uint[MAX_CHANNUM_V30 - 1];
byRes = new byte[47];
}
}
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct EVENT_STREAMID_PARAM
{
public NET_DVR_STREAM_INFO struIDInfo; // æµidä¿¡æ¯ï¼72åèé¿
public uint dwCmdType; // å¤é¨è§¦åç±»åï¼NVRæ¥å
¥äºåå¨ä½¿ç¨
public byte byBackupVolumeNum; //åæ¡£å·å·ï¼CVR使ç¨
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 223, ArraySubType = UnmanagedType.I1)]
public byte[] byRes;
public void init()
{
struIDInfo.init();
byRes = new byte[223];
}
}
[StructLayout(LayoutKind.Explicit)]
public struct SEARCH_EVENT_UNION
{
[FieldOffsetAttribute(0)]
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = SEARCH_EVENT_INFO_LEN, ArraySubType = UnmanagedType.I1)]
public byte[] byLen;
[FieldOffsetAttribute(0)]
public EVENT_ALARM_BYBIT struAlarmParam;
[FieldOffsetAttribute(0)]
public EVENT_ALARM_BYVALUE struAlarmParamByValue;
[FieldOffsetAttribute(0)]
public EVENT_MOTION_BYBIT struMotionParam;
[FieldOffsetAttribute(0)]
public EVENT_MOTION_BYVALUE struMotionParamByValue;
[FieldOffsetAttribute(0)]
public EVENT_VCA_BYBIT struVcaParam;
[FieldOffsetAttribute(0)]
public EVENT_VCA_BYVALUE struVcaParamByValue;
[FieldOffsetAttribute(0)]
public EVENT_INQUEST_PARAM struInquestParam;
[FieldOffsetAttribute(0)]
public EVENT_VCADETECT_BYBIT struVCADetectByBit;
[FieldOffsetAttribute(0)]
public EVENT_VCADETECT_BYVALUE struVCADetectByValue;
[FieldOffsetAttribute(0)]
public EVENT_STREAMID_PARAM struStreamIDParam;
}
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_SEARCH_EVENT_PARAM
{
public ushort wMajorType;//0-移å¨ä¾¦æµï¼1-æ¥è¦è¾å
¥, 2-æºè½äºä»¶
public ushort wMinorType;//æ索次类å- æ ¹æ®ä¸»ç±»åååï¼0xffff表示å
¨é¨
public NET_DVR_TIME struStartTime;//æç´¢çå¼å§æ¶é´ï¼åæ¢æ¶é´: åæ¶ä¸º(0, 0) 表示ä»ææ©çæ¶é´å¼å§ï¼å°æåï¼æåé¢ç4000个äºä»¶
public NET_DVR_TIME struEndTime;
public byte byLockType; // 0xff-å
¨é¨ï¼0-æªéï¼1-éå®
public byte byValue; //0-æä½è¡¨ç¤ºï¼1-æå¼è¡¨ç¤º
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 130, ArraySubType = UnmanagedType.I1)]
public byte[] byRes;//ä¿ç
public SEARCH_EVENT_UNION uSeniorPara;
}
//æ¥è¦è¾å
¥ç»æ
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct EVENT_ALARM_RET
{
public uint dwAlarmInNo;//æ¥è¦è¾å
¥å·
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = SEARCH_EVENT_INFO_LEN, ArraySubType = UnmanagedType.I1)]
public byte[] byRes;
public void init()
{
byRes = new byte[SEARCH_EVENT_INFO_LEN];
}
}
//移å¨ä¾¦æµç»æ
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct EVENT_MOTION_RET
{
public uint dwMotDetNo;//移å¨ä¾¦æµéé
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = SEARCH_EVENT_INFO_LEN, ArraySubType = UnmanagedType.I1)]
public byte[] byRes;
public void init()
{
byRes = new byte[SEARCH_EVENT_INFO_LEN];
}
}
//è¡ä¸ºåæç»æ
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct EVENT_VCA_RET
{
public uint dwChanNo;//触åäºä»¶çééå·
public byte byRuleID;//è§åID
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 3, ArraySubType = UnmanagedType.I1)]
public byte[] byRes1;//ä¿ç
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = NAME_LEN, ArraySubType = UnmanagedType.I1)]
public byte[] byRuleName;//è§åå称
public NET_VCA_EVENT_UNION uEvent;//è¡ä¸ºäºä»¶åæ°ï¼wMinorType = VCA_EVENT_TYPEå³å®äºä»¶ç±»å
public void init()
{
byRes1 = new byte[3];
byRuleName = new byte[NAME_LEN];
}
}
//审讯äºä»¶æ¥è¯¢ç»æ
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct EVENT_INQUEST_RET
{
public byte byRoomIndex; //审讯室ç¼å·,ä»1å¼å§
public byte byDriveIndex; //å»å½æºç¼å·,ä»1å¼å§
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 6, ArraySubType = UnmanagedType.I1)]
public byte[] byRes1; //ä¿ç
public uint dwSegmentNo; //æ¬çæå¨æ¬æ¬¡å®¡è®¯ä¸çåºå·,ä»1å¼å§
public ushort wSegmetSize; //æ¬çæç大å°, åä½M
public ushort wSegmentState; //æ¬çæç¶æ 0 å»å½æ£å¸¸ï¼1 å»å½å¼å¸¸ï¼2 ä¸å»å½å®¡è®¯
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 288, ArraySubType = UnmanagedType.I1)]
public byte[] byRes2; //ä¿ç
public void init()
{
byRes1 = new byte[6];
byRes2 = new byte[288];
}
}
//æµidå½åæ¥è¯¢ç»æ
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct EVENT_STREAMID_RET
{
public uint dwRecordType; //å½åç±»å 0-å®æ¶å½å 1-移å¨ä¾¦æµ 2-æ¥è¦å½å 3-æ¥è¦|移å¨ä¾¦æµ 4-æ¥è¦&移å¨ä¾¦æµ 5-å½ä»¤è§¦å 6-æå¨å½å 7-éå¨æ¥è¦ 8-ç¯å¢è§¦å 9-æºè½æ¥è¦ 10-åä¼ å½å
public uint dwRecordLength; //å½å大å°
public byte byLockFlag; // éå®æ å¿ 0ï¼æ²¡éå® 1ï¼éå®
public byte byDrawFrameType; // 0ï¼éæ½å¸§å½å 1ï¼æ½å¸§å½å
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 2, ArraySubType = UnmanagedType.I1)]
public byte[] byRes1;
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = NAME_LEN, ArraySubType = UnmanagedType.I1)]
public byte[] byFileName; //æ件å
public uint dwFileIndex; // åæ¡£å·ä¸çæ件索å¼
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 256, ArraySubType = UnmanagedType.I1)]
public byte[] byRes;
public void init()
{
byRes1 = new byte[2];
byFileName = new byte[NAME_LEN];
byRes = new byte[256];
}
}
[StructLayout(LayoutKind.Explicit)]
public struct SEARCH_EVENT_RET
{
[FieldOffset(0)]
public EVENT_ALARM_RET struAlarmRet;
[FieldOffset(0)]
public EVENT_MOTION_RET struMotionRet;
[FieldOffset(0)]
public EVENT_VCA_RET struVcaRet;
[FieldOffset(0)]
public EVENT_INQUEST_RET struInquestRet;
[FieldOffset(0)]
public EVENT_STREAMID_RET struStreamIDRet;
public void init()
{
struAlarmRet = new EVENT_ALARM_RET();
struAlarmRet.init();
//struMotionRet = new EVENT_MOTION_RET();
//struMotionRet.init();
}
}
//æ¥æ¾è¿åç»æ
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_SEARCH_EVENT_RET
{
public ushort wMajorType;//主类åMA
public ushort wMinorType;//次类å
public NET_DVR_TIME struStartTime;//äºä»¶å¼å§çæ¶é´
public NET_DVR_TIME struEndTime;//äºä»¶åæ¢çæ¶é´ï¼èå²äºä»¶æ¶åå¼å§æ¶é´ä¸æ ·
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_CHANNUM_V30, ArraySubType = UnmanagedType.I1)]
public byte[] byChan;
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 36, ArraySubType = UnmanagedType.I1)]
public byte[] byRes;
public SEARCH_EVENT_RET uSeniorRet;
public void init()
{
byChan = new byte[MAX_CHANNUM_V30];
byRes = new byte[36];
uSeniorRet = new SEARCH_EVENT_RET();
uSeniorRet.init();
}
}
//SDK_V35 2009-10-26
// æ å®é
置类å
public enum tagCALIBRATE_TYPE
{
PDC_CALIBRATE = 0x01, // PDC æ å®
BEHAVIOR_OUT_CALIBRATE = 0x02, //è¡ä¸ºå®¤å¤åºæ¯æ å®
BEHAVIOR_IN_CALIBRATE = 0x03, // è¡ä¸ºå®¤å
åºæ¯æ å®
ITS_CALBIRETE = 0x04 // 交éäºä»¶æ å®
}
public const int MAX_RECT_NUM = 6;
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_RECT_LIST
{
public byte byRectNum; // ç©å½¢æ¡ç个æ°
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 11, ArraySubType = UnmanagedType.I1)]
public byte[] byRes1; //ä¿çåè
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_RECT_NUM, ArraySubType = UnmanagedType.Struct)]
public NET_VCA_RECT[] struVcaRect; // æ大为6个Rect
}
// PDC æ å®åæ°
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_PDC_CALIBRATION
{
public NET_DVR_RECT_LIST struRectList; // æ å®ç©å½¢æ¡å表
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 120, ArraySubType = UnmanagedType.I1)]
public byte[] byRes; // ä¿çåè
}
// æ å®çº¿çå±æ§ç±»å«ï¼ç¨æ¥è¡¨ç¤ºå½åæ å®çº¿å¨å®é
表示çæ¯é«åº¦çº¿è¿æ¯é¿åº¦çº¿ã
public enum LINE_MODE
{
HEIGHT_LINE, //é«åº¦æ ·æ¬çº¿
LENGTH_LINE //é¿åº¦æ ·æ¬çº¿
}
/*å¨è®¾ç½®æ å®ä¿¡æ¯çæ¶åï¼å¦æç¸åºä½è®¾ç½®äºä½¿è½ï¼å¹¶è®¾ç½®ç¸å
³åæ°ï¼è¥æ²¡æ设置使è½ï¼åæ å®åå¯ä»¥è·åç¸å
³çæåæºåæ°*/
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_CAMERA_PARAM
{
public byte byEnableHeight; // æ¯å¦ä½¿è½è®¾ç½®æåæºé«åº¦çº¿
public byte byEnableAngle; // æ¯å¦ä½¿è½è®¾ç½®æåæºä¿¯ä»°è§åº¦
public byte byEnableHorizon; // æ¯å¦ä½¿è½è®¾ç½®æåæºå°å¹³çº¿
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 5, ArraySubType = UnmanagedType.I1)]
public byte[] byRes; // ä¿çåè
public float fCameraHeight; // æåæºé«åº¦
public float fCameraAngle; // æåæºä¿¯ä»°è§åº¦
public float fHorizon; // åºæ¯ä¸çå°å¹³çº¿
}
/*å½fValue表示ç®æ é«åº¦çæ¶åï¼struStartPointåstruEndPointåå«è¡¨ç¤ºç®æ 头é¨ç¹åèé¨ç¹ã
* å½fValue表示线段é¿åº¦çæ¶åï¼struStartPointåstruEndPointåå«è¡¨ç¤ºçº¿æ®µèµ·å§ç¹åç»ç¹ï¼
* mode表示å½åæ ·æ¬çº¿è¡¨ç¤ºé«åº¦çº¿è¿æ¯é¿åº¦çº¿ã*/
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_LINE_SEGMENT
{
public byte byLineMode; // åç
§ LINE_MODE
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 3, ArraySubType = UnmanagedType.I1)]
public byte[] byRes; // ä¿çåè
public NET_VCA_POINT struStartPoint;
public NET_VCA_POINT struEndPoint;
public float fValue;
}
public const int MAX_LINE_SEG_NUM = 8;
/*æ å®æ ·æ¬çº¿ç®åéè¦4-8è°æ ·æ¬çº¿ï¼ä»¥è·åæåæºç¸å
³åæ°*/
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_BEHAVIOR_OUT_CALIBRATION
{
public uint dwLineSegNum; // æ ·æ¬çº¿ä¸ªæ°
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_LINE_SEG_NUM, ArraySubType = UnmanagedType.Struct)]
public NET_DVR_LINE_SEGMENT[] struLineSegment; // æ ·æ¬çº¿æ大个æ°
public NET_DVR_CAMERA_PARAM struCameraParam; // æåæºåæ°
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 20, ArraySubType = UnmanagedType.I1)]
public byte[] byRes;
}
/*该ç»æä½è¡¨ç¤ºIASæºè½åºæ å®æ ·æ¬ï¼å
¶ä¸å
æ¬ä¸ä¸ªç®æ æ¡åä¸æ¡å¯¹åºçé«åº¦æ å®çº¿ï¼
* ç®æ æ¡ä¸ºç«ç«ç人ä½å¤æ¥ç©å½¢æ¡ï¼é«åº¦çº¿æ ·æ¬æ è¯ä»äººå¤´é¡¶ç¹å°èç¹çæ å®çº¿ï¼ç¨å½ä¸ååæ 表示ï¼*/
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_IN_CAL_SAMPLE
{
public NET_VCA_RECT struVcaRect; // ç®æ æ¡
public NET_DVR_LINE_SEGMENT struLineSegment; // é«åº¦æ å®çº¿
}
public const int MAX_SAMPLE_NUM = 5;
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_BEHAVIOR_IN_CALIBRATION
{
public uint dwCalSampleNum; // æ å®æ ·æ¬ä¸ªæ°
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_SAMPLE_NUM, ArraySubType = UnmanagedType.Struct)]
public NET_DVR_IN_CAL_SAMPLE[] struCalSample; // æ å®æ ·æ¬æ大个æ°
public NET_DVR_CAMERA_PARAM struCameraParam; // æåæºåæ°
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 16, ArraySubType = UnmanagedType.I1)]
public byte[] byRes;
}
public const int CALIB_PT_NUM = 4;
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_ITS_CALIBRATION
{
public uint dwPointNum; //æ å®ç¹æ°
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = CALIB_PT_NUM, ArraySubType = UnmanagedType.Struct)]
public NET_VCA_POINT[] struPoint; //å¾ååæ
public float fWidth;
public float fHeight;
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 100, ArraySubType = UnmanagedType.I1)]
public byte[] byRes1; // ä¿çåè
}
// æ å®åæ°èåä½
// åç»çç¸å
³æ å®åæ°å¯ä»¥æ¾å¨è¯¥ç»æéé¢
[StructLayoutAttribute(LayoutKind.Explicit)]
public struct NET_DVR_CALIBRATION_PRARM_UNION
{
[FieldOffsetAttribute(0)]
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 240, ArraySubType = UnmanagedType.I1)]
public byte[] byRes; //èåä½ç»æ大å°
[FieldOffsetAttribute(0)]
public NET_DVR_PDC_CALIBRATION struPDCCalibration; //PDC æ å®åæ°
[FieldOffsetAttribute(0)]
public NET_DVR_BEHAVIOR_OUT_CALIBRATION struBehaviorOutCalibration; // è¡ä¸ºå®¤å¤åºæ¯æ å® ä¸»è¦åºç¨äºIVSç
[FieldOffsetAttribute(0)]
public NET_DVR_BEHAVIOR_IN_CALIBRATION struBehaviorInCalibration; // è¡ä¸ºå®¤å
åºæ¯æ å®ï¼ä¸»è¦åºç¨IASç
[FieldOffsetAttribute(0)]
public NET_DVR_ITS_CALIBRATION struITSCalibration;
}
// æ å®é
ç½®ç»æ
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_CALIBRATION_CFG
{
public uint dwSize; //æ å®ç»æ大å°
public byte byEnable; // æ¯å¦å¯ç¨æ å®
public byte byCalibrationType; // æ å®ç±»å æ ¹æ®ä¸åç±»åå¨èåä½ç±»éæ©ä¸åçæ å® åèCALIBRATE_TYPE
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 2, ArraySubType = UnmanagedType.I1)]
public byte[] byRes1;
public NET_DVR_CALIBRATION_PRARM_UNION uCalibrateParam; // æ å®åæ°èåä½
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 12, ArraySubType = UnmanagedType.I1)]
public byte[] byRes2;
}
//æµéç»è®¡æ¹åç»æä½
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_PDC_ENTER_DIRECTION
{
public NET_VCA_POINT struStartPoint; //æµéç»è®¡æ¹åèµ·å§ç¹
public NET_VCA_POINT struEndPoint; // æµéç»è®¡æ¹åç»æç¹
}
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_PDC_RULE_CFG
{
public uint dwSize; //ç»æ大å°
public byte byEnable; // æ¯å¦æ¿æ´»è§å;
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 23, ArraySubType = UnmanagedType.I1)]
public byte[] byRes1; // ä¿çåè
public NET_VCA_POLYGON struPolygon; // å¤è¾¹å½¢
public NET_DVR_PDC_ENTER_DIRECTION struEnterDirection; // æµéè¿å
¥æ¹å
}
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_PDC_RULE_CFG_V41
{
public uint dwSize; //ç»æ大å°
public byte byEnable; // æ¯å¦æ¿æ´»è§å;
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 23, ArraySubType = UnmanagedType.I1)]
public byte[] byRes1; // ä¿çåè
public NET_VCA_POLYGON struPolygon; // å¤è¾¹å½¢
public NET_DVR_PDC_ENTER_DIRECTION struEnterDirection; // æµéè¿å
¥æ¹å
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_DAYS * MAX_TIMESEGMENT_V30, ArraySubType = UnmanagedType.Struct)]
public NET_DVR_SCHEDTIME struAlarmTime;//å¸é²æ¶é´
public NET_DVR_TIME_EX struDayStartTime; //ç½å¤©å¼å§æ¶é´ï¼æ¶åç§ææ
public NET_DVR_TIME_EX struNightStartTime; //å¤æå¼å§æ¶é´ï¼æ¶åç§ææ
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 100, ArraySubType = UnmanagedType.I1)]
public byte[] byRes; // ä¿çåè
}
//è¯ç¨çä¿¡æ¯ç»æä½
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_TRIAL_VERSION_CFG
{
public uint dwSize;
public ushort wReserveTime; //è¯ç¨æå©ä½æ¶é´ï¼0xffff表示æ æï¼åä½ï¼å¤©
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 62, ArraySubType = UnmanagedType.I1)]
public byte[] byRes;
}
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_SYN_CHANNEL_NAME_PARAM
{
public uint dwSize;
public uint dwChannel; //ééå·
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 64, ArraySubType = UnmanagedType.I1)]
public byte[] byRes;
}
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_RESET_COUNTER_CFG
{
public uint dwSize;
public byte byEnable; //æ¯å¦å¯ç¨ï¼0-ä¸å¯ç¨ï¼1-å¯ç¨
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 3, ArraySubType = UnmanagedType.I1)]
public byte[] byRes1;
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_DAYS, ArraySubType = UnmanagedType.Struct)]
public NET_DVR_TIME_EX[] struTime;//æ°æ®æ¸
é¶æ¶é´ï¼æ¶åç§ææ
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 64, ArraySubType = UnmanagedType.I1)]
public byte[] byRes;
}
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_VCA_CTRLINFO_COND
{
public uint dwSize;
public NET_DVR_STREAM_INFO struStreamInfo;
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 64, ArraySubType = UnmanagedType.I1)]
public byte[] byRes;
}
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_VCA_CTRLINFO_CFG
{
public uint dwSize;
public byte byVCAEnable; //æ¯å¦å¼å¯æºè½
public byte byVCAType; //æºè½è½åç±»åï¼VCA_CHAN_ABILITY_TYPE
public byte byStreamWithVCA; //ç æµä¸æ¯å¦å¸¦æºè½ä¿¡æ¯
public byte byMode; //模å¼ï¼ATM è½åæ¶åç
§VCA_CHAN_MODE_TYPE ,TFS è½åæ¶åç
§ TFS_CHAN_MODE_TYPEï¼è¡ä¸ºåæå®æ´çæ¶åç
§BEHAVIOR_SCENE_MODE_TYPE
public byte byControlType; //æ§å¶ç±»åï¼æä½è¡¨ç¤ºï¼0-å¦ï¼1-æ¯
//byControlType &1 æ¯å¦å¯ç¨ææåè½
//byControlType &2 æ¯å¦å¯ç¨èå¨å端设å¤
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 83, ArraySubType = UnmanagedType.I1)]
public byte[] byRes; //ä¿çï¼è®¾ç½®ä¸º0
}
/*设置人æµéç»è®¡åæ° å¤ç¨è¡ä¸ºå
é¨å
³é®ååæ°
* HUMAN_GENERATE_RATE
* ç®æ çæé度åæ°ï¼æ§å¶PDCåºçæç®æ çé度ãé度è¶å¿«ï¼ç®æ è¶å®¹æçæã
* å½è¾å
¥è§é¢å
ç
§æ¡ä»¶è¾å·®ï¼å¯¹æ¯åº¦è¾ä½æ¶ï¼æè
设置çè§ååºåè¾å°æ¶ï¼åºå å¿«ç®æ çæéåº¦ï¼ é¿å
ç®æ çæ¼æ£ï¼
* å½è¾å
¥è§é¢ä¸å¯¹æ¯åº¦è¾é«æ¶ï¼æè
è§ååºåè¾å¤§æ¶ï¼åºè¯¥éä½ç®æ çæé度ï¼ä»¥åå°è¯¯æ£ã
* ç®æ çæé度åæ°å
±æ5级ï¼1级é度ææ
¢ï¼5级æå¿«ï¼é»è®¤åæ°ä¸º3ã
*
* DETECT_SENSITIVE
* ç®æ æ£æµçµæ度æ§å¶åæ°ï¼æ§å¶PDCåºä¸ä¸ä¸ªç©å½¢åºå被æ£æµä¸ºç®æ ççµæ度ã
* çµæ度è¶é«ï¼ç©å½¢åºåè¶å®¹æ被æ£æµä¸ºç®æ ï¼çµæ度è¶ä½åè¶é¾æ£æµä¸ºç®æ ã
* å½è¾å
¥è§é¢å
ç
§æ¡ä»¶è¾å·®ï¼å¯¹æ¯åº¦è¾ä½æ¶ï¼åºæé«æ£æµçµæåº¦ï¼ é¿å
ç®æ çæ¼æ£ï¼
* å½è¾å
¥è§é¢ä¸å¯¹æ¯åº¦è¾é«æ¶ï¼åºè¯¥éä½æ£æµçµæ度ï¼ä»¥åå°è¯¯æ£ã
* 对åºåæ°å
±æ5级ï¼çº§å«1çµæ度æä½ï¼5级æé«ï¼é»è®¤çº§å«ä¸º3ã
*
* TRAJECTORY_LEN
* 轨迹çæé¿åº¦æ§å¶åæ°ï¼è¡¨ç¤ºçæ轨迹æ¶è¦æ±ç®æ çæ大ä½ç§»åç´ ã
* 对åºåæ°å
±æ5级ï¼çº§å«1ï¼çæé¿åº¦æé¿ï¼è½¨è¿¹çæææ
¢ï¼5级çæé¿åº¦æçï¼è½¨è¿¹çææå¿«ï¼é»è®¤çº§å«ä¸º3ã
*
* TRAJECT_CNT_LEN
* 轨迹计æ°é¿åº¦æ§å¶åæ°ï¼è¡¨ç¤ºè½¨è¿¹è®¡æ°æ¶è¦æ±ç®æ çæ大ä½ç§»åç´ ã
* 对åºåæ°å
±æ5级ï¼çº§å«1ï¼è®¡æ°è¦æ±é¿åº¦æé¿ï¼è½¨è¿¹è®¡æ°ææ
¢ï¼5级计æ°è¦æ±é¿åº¦æçï¼è½¨è¿¹è®¡æ°æå¿«ï¼é»è®¤çº§å«ä¸º3ã
*
* PREPROCESS
* å¾åé¢å¤çæ§å¶åæ°ï¼0 - ä¸å¤çï¼1 - å¤çãé»è®¤ä¸º0ï¼
*
* CAMERA_ANGLE
* æåæºè§åº¦è¾å
¥åæ°ï¼ 0 - å¾æï¼ 1 - åç´ãé»è®¤ä¸º0ï¼
*/
public enum PDC_PARAM_KEY
{
HUMAN_GENERATE_RATE = 50, // ç®æ çæé度 ä»50å¼å§
DETECT_SENSITIVE = 51, // æ£æµçµæ度
}
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_PDC_TARGET_INFO
{
public uint dwTargetID; // ç®æ id
public NET_VCA_RECT struTargetRect; // ç®æ æ¡
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 8, ArraySubType = UnmanagedType.I1)]
public byte[] byRes1; // ä¿çåè
}
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_PDC_TARGET_IN_FRAME
{
public byte byTargetNum; //ç®æ 个æ°
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 3, ArraySubType = UnmanagedType.I1)]
public byte[] yRes1;
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_TARGET_NUM, ArraySubType = UnmanagedType.Struct)]
public NET_DVR_PDC_TARGET_INFO[] struTargetInfo; //ç®æ ä¿¡æ¯æ°ç»
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 8, ArraySubType = UnmanagedType.I1)]
public byte[] byRes2; // ä¿çåè
}
//å帧ç»è®¡ç»ææ¶ä½¿ç¨
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct UNION_STATFRAME
{
public uint dwRelativeTime; // ç¸å¯¹æ¶æ
public uint dwAbsTime; // ç»å¯¹æ¶æ
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 92, ArraySubType = UnmanagedType.I1)]
public byte[] byRes;
}
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct UNION_STATTIME
{
public NET_DVR_TIME tmStart; // ç»è®¡èµ·å§æ¶é´
public NET_DVR_TIME tmEnd; // ç»è®¡ç»ææ¶é´
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 92, ArraySubType = UnmanagedType.I1)]
public byte[] byRes;
}
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_PDC_ALRAM_INFO
{
public uint dwSize; // PDC人æµéæ¥è¦ä¸ä¼ ç»æä½å¤§å°
public byte byMode; // 0 å帧ç»è®¡ç»æ 1æå°æ¶é´æ®µç»è®¡ç»æ
public byte byChannel; // æ¥è¦ä¸ä¼ ééå·
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 2, ArraySubType = UnmanagedType.I1)]
public byte[] byRes1; // ä¿çåè
public NET_VCA_DEV_INFO struDevInfo; //å端设å¤ä¿¡æ¯
[StructLayoutAttribute(LayoutKind.Explicit)]
public struct uStatModeParam
{
[FieldOffsetAttribute(0)]
//å帧ç»è®¡ç»ææ¶ä½¿ç¨
public UNION_STATFRAME struStatFrame;
[FieldOffsetAttribute(0)]
public UNION_STATTIME struStatTime;
}
public uint dwLeaveNum; // 离å¼äººæ°
public uint dwEnterNum; // è¿å
¥äººæ°
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 40, ArraySubType = UnmanagedType.I1)]
public byte[] byRes2; // ä¿çåè
}
//人æµéä¿¡æ¯æ¥è¯¢
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_PDC_QUERY
{
public NET_DVR_TIME tmStart;
public NET_DVR_TIME tmEnd;
public uint dwLeaveNum;
public uint dwEnterNum;
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 256, ArraySubType = UnmanagedType.I1)]
public byte[] byRes1;
}
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_PTZ_POSITION
{
// æ¯å¦å¯ç¨åºæ¯ï¼å¨è®¾ç½®åºæ¯è¡ä¸ºè§åçæ¶å该å段æ æï¼å¨è®¾ç½®çæºæ¬å°é
ç½®åºæ¯ä½ç½®ä¿¡æ¯æ¶ä½ä¸ºä½¿è½ä½
public byte byEnable;
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 3, ArraySubType = UnmanagedType.I1)]
public byte[] byRes1; //ä¿ç
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = NAME_LEN, ArraySubType = UnmanagedType.I1)]
public byte[] byPtzPositionName; //åºæ¯ä½ç½®å称
public NET_DVR_PTZPOS struPtzPos; //ptz åæ
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 40, ArraySubType = UnmanagedType.I1)]
public byte[] byRes2;
}
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_POSITION_RULE_CFG
{
public uint dwSize; // ç»æ大å°
public NET_DVR_PTZ_POSITION struPtzPosition; // åºæ¯ä½ç½®ä¿¡æ¯
public NET_VCA_RULECFG struVcaRuleCfg; //è¡ä¸ºè§åé
ç½®
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 80, ArraySubType = UnmanagedType.I1)]
public byte[] byRes2; // ä¿çåè
}
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_POSITION_RULE_CFG_V41
{
public uint dwSize; // ç»æ大å°
public NET_DVR_PTZ_POSITION struPtzPosition; // åºæ¯ä½ç½®ä¿¡æ¯
public NET_VCA_RULECFG_V41 struVcaRuleCfg; //è¡ä¸ºè§åé
ç½®
public byte byTrackEnable; //æ¯å¦å¯ç¨è·è¸ª
public byte byRes1;
public ushort wTrackDuration; //è·è¸ªæç»æ¶é´ï¼åä½s
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 76, ArraySubType = UnmanagedType.I1)]
public byte[] byRes2; // ä¿çåè
}
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_LIMIT_ANGLE
{
public byte byEnable; // æ¯å¦å¯ç¨åºæ¯éä½åè½
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 3, ArraySubType = UnmanagedType.I1)]
public byte[] byRes1;
public NET_DVR_PTZPOS struUp; // ä¸éä½
public NET_DVR_PTZPOS struDown; // ä¸éä½
public NET_DVR_PTZPOS struLeft; // å·¦éä½
public NET_DVR_PTZPOS struRight; // å³éä½
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 20, ArraySubType = UnmanagedType.I1)]
public byte[] byRes2;
}
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_POSITION_INDEX
{
public byte byIndex; // åºæ¯ç´¢å¼
public byte byRes1;
public ushort wDwell; // åçæ¶é´
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 4, ArraySubType = UnmanagedType.I1)]
public byte[] byRes2; // ä¿çåè
}
public const int MAX_POSITION_NUM = 10;
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_POSITION_TRACK_CFG
{
public uint dwSize;
public byte byNum; // åºæ¯ä¸ªæ°
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 3, ArraySubType = UnmanagedType.I1)]
public byte[] byRes1;
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_POSITION_NUM, ArraySubType = UnmanagedType.Struct)]
public NET_DVR_POSITION_INDEX[] struPositionIndex;
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 8, ArraySubType = UnmanagedType.I1)]
public byte[] byRes2;
}
//å·¡èªè·¯å¾åºæ¯ä¿¡æ¯
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_PATROL_SCENE_INFO
{
public ushort wDwell; // åçæ¶é´ 30-300
public byte byPositionID; // åºæ¯å·1-10ï¼é»è®¤0表示该巡èªç¹ä¸æ·»å åºæ¯
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 5, ArraySubType = UnmanagedType.I1)]
public byte[] byRes;
}
//åºæ¯å·¡èªè·è¸ªé
置信æ¯
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_PATROL_TRACKCFG
{
public uint dwSize; // ç»æ大å°
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 10, ArraySubType = UnmanagedType.Struct)]
public NET_DVR_PATROL_SCENE_INFO[] struPatrolSceneInfo; // å·¡èªè·¯å¾
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 16, ArraySubType = UnmanagedType.I1)]
public byte[] byRes; // ä¿çåè
}
//çæºæ¬å°è§åèåé
ç½®ç»æä½
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_TRACK_PARAMCFG
{
public uint dwSize; // ç»æ大å°
public ushort wAlarmDelayTime; // æ¥è¦å»¶æ¶æ¶é´ï¼ç®åçæºåªæ¯æå
¨å±å
¥ä¾µ èå´1-120ç§
public ushort wTrackHoldTime; // æ¥è¦è·è¸ªæç»æ¶é´ èå´0-300ç§
public byte byTrackMode; // åç
§ IPDOME_TRACK_MODE
public byte byPreDirection; // è·è¸ªæ¹åé¢å¤ 0-ä¸å¯ç¨ 1-å¯ç¨
public byte byTrackSmooth; // è·è¸ªè¿ç» 0-ä¸å¯ç¨ 1-å¯ç¨
public byte byZoomAdjust; // åçç³»æ°è°æ´ åè§ä¸è¡¨
public byte byMaxTrackZoom; //æ大è·è¸ªåçç³»æ°,0-表示é»è®¤åçç³»æ°,ç级6-æ å®å¼*1.0(é»è®¤),1-5为缩å°æ å®å¼ï¼å¼è¶å°ï¼ç¼©å°çæ¯ä¾è¶å¤§,7-15为æ¾å¤§ï¼å¼è¶å¤§ï¼æ¾å¤§çæ¯ä¾è¶å¤§
public byte byStopTrackWhenFindFace; //人è¸æ£æµå°åæ¯å¦åæ¢è·è¸ª 0-å¦ 1-æ¯
public byte byStopTrackThreshold; //è·è¸ªç»æ¢è¯åéå¼
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 9, ArraySubType = UnmanagedType.I1)]
public byte[] byRes; // ä¿çåè
}
//çæºæºè¯åæ°
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_DOME_MOVEMENT_PARAM
{
public ushort wMaxZoom; // çæºæ大åçç³»æ°
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 42, ArraySubType = UnmanagedType.I1)]
public byte[] byRes; // ä¿çåè
}
/********************************æºè½äº¤éäºä»¶ begin****************************************/
public const int MAX_REGION_NUM = 8; // åºåå表æ大æ°ç®
public const int MAX_TPS_RULE = 8; // æ大åæ°è§åæ°ç®
public const int MAX_AID_RULE = 8; // æ大äºä»¶è§åæ°ç®
public const int MAX_LANE_NUM = 8; // æ大车éæ°ç®
//交éäºä»¶ç±»å
public enum TRAFFIC_AID_TYPE
{
CONGESTION = 0x01, //æ¥å µ
PARKING = 0x02, //å车
INVERSE = 0x04, //éè¡
PEDESTRIAN = 0x08, //è¡äºº
DEBRIS = 0x10, //éçç© ææ´ç©ç¢ç
SMOKE = 0x20, //çé¾
OVERLINE = 0x40, //å线
VEHICLE_CONTROL_LIST = 0x80, //é»ååæ°æ®
SPEED = 0x100 //è¶
é
}
public enum TRAFFIC_SCENE_MODE
{
FREEWAY = 0, // é«éæ·å¤åºæ¯
TUNNEL, // é«éé§éåºæ¯
BRIDGE // é«éæ¡¥æ¢åºæ¯
}
public enum ITS_ABILITY_TYPE
{
ITS_CONGESTION_ABILITY = 0x01, //æ¥å µ
ITS_PARKING_ABILITY = 0x02, //å车
ITS_INVERSE_ABILITY = 0x04, //éè¡
ITS_PEDESTRIAN_ABILITY = 0x08, //è¡äºº
ITS_DEBRIS_ABILITY = 0x10, //éçç© ææ´ç©ç¢ç
ITS_SMOKE_ABILITY = 0x20, //çé¾-é§é
ITS_OVERLINE_ABILITY = 0x40, //å线
ITS_VEHICLE_CONTROL_LIST_ABILITY = 0x80, //é»ååæ°æ®
ITS_SPEED_ABILITY = 0x100, //è¶
é
ITS_LANE_VOLUME_ABILITY = 0x010000, //车éæµé
ITS_LANE_VELOCITY_ABILITY = 0x020000, //车éå¹³åé度
ITS_TIME_HEADWAY_ABILITY = 0x040000, //车头æ¶è·
ITS_SPACE_HEADWAY_ABILITY = 0x080000, //车头é´è·
ITS_TIME_OCCUPANCY_RATIO_ABILITY = 0x100000, //车éå æçï¼ï¼æ¶é´ä¸)
ITS_SPACE_OCCUPANCY_RATIO_ABILITY = 0x200000, //车éå æçï¼ç¾åæ¯è®¡ç®ï¼ç©ºé´ä¸)
ITS_LANE_QUEUE_ABILITY = 0x400000, //æéé¿åº¦
ITS_VEHICLE_TYPE_ABILITY = 0x800000, //车è¾ç±»å
ITS_TRAFFIC_STATE_ABILITY = 0x1000000 //交éç¶æ
}
// 交éç»è®¡åæ°
public enum ITS_TPS_TYPE
{
LANE_VOLUME = 0x01, //车éæµé
LANE_VELOCITY = 0x02, //车éé度
TIME_HEADWAY = 0x04, //车头æ¶è·
SPACE_HEADWAY = 0x08, //车头é´è·
TIME_OCCUPANCY_RATIO = 0x10, //车éå æç (æ¶é´ä¸)
SPACE_OCCUPANCY_RATIO = 0x20, //车éå æçï¼ç¾åæ¯è®¡ç®(空é´ä¸)
QUEUE = 0x40, //æéé¿åº¦
VEHICLE_TYPE = 0x80, //车è¾ç±»å
TRAFFIC_STATE = 0x100 //交éç¶æ
}
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_REGION_LIST
{
public uint dwSize; // ç»æä½å¤§å°
public byte byNum; // åºå个æ°
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 3, ArraySubType = UnmanagedType.I1)]
public byte[] byRes1; // ä¿çåè
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_REGION_NUM, ArraySubType = UnmanagedType.Struct)]
public NET_VCA_POLYGON[] struPolygon; // åºå
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 20, ArraySubType = UnmanagedType.I1)]
public byte[] byRes2; // ä¿çåè
}
//æ¹åç»æä½
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_DIRECTION
{
public NET_VCA_POINT struStartPoint; // æ¹åèµ·å§ç¹
public NET_VCA_POINT struEndPoint; // æ¹åç»æç¹
}
//å个车é
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_ONE_LANE
{
public byte byEnable; //车éæ¯å¦å¯ç¨
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 11, ArraySubType = UnmanagedType.I1)]
public byte[] byRes1; // ä¿çåè
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = NAME_LEN, ArraySubType = UnmanagedType.I1)]
public byte[] byLaneName; // 车éè§åå称
public NET_DVR_DIRECTION struFlowDirection;// 车éå
车æµæ¹å
public NET_VCA_POLYGON struPolygon; // 车éåºå
}
//车éé
ç½®
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_LANE_CFG
{
public uint dwSize; // ç»æä½å¤§å°
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_LANE_NUM, ArraySubType = UnmanagedType.Struct)]
public NET_DVR_ONE_LANE[] struLane; // 车éåæ° æ°ç»ä¸æ ä½ä¸ºè½¦éID
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 40, ArraySubType = UnmanagedType.I1)]
public byte[] byRes1; // ä¿çåè
}
//交éäºä»¶åæ°
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_AID_PARAM
{
public ushort wParkingDuration; // è¿åæ£æµçµæ度 10-120s
public ushort wPedestrianDuration; // è¡äººæç»æ¶é´ 1-120s
public ushort wDebrisDuration; // ææ´ç©æç»æ¶é´ 10-120s
public ushort wCongestionLength; // æ¥å µé¿åº¦éå¼ 5-200ï¼ç±³ï¼
public ushort wCongestionDuration; // æ¥å µæç»åæ° 10-120s
public ushort wInverseDuration; // éè¡æç»æ¶é´ 1-10s
public ushort wInverseDistance; // éè¡è·ç¦»éå¼ åä½m èå´[2-100] é»è®¤ 10ç±³
public ushort wInverseAngleTolerance; // å
许è§åº¦åå·® 90-180度,车æµä¸éè¡å
许ç夹è§
public ushort wIllegalParkingTime; // è¿åæ¶é´[4,60]ï¼åä½ï¼åé ,TFS(交éè¿ç« åè¯) åå¸æ¨¡å¼ä¸
public ushort wIllegalParkingPicNum; // è¿åå¾çæ°é[1,6], TFS(交éè¿ç« åè¯) åå¸æ¨¡å¼ä¸
public byte byMergePic; // å¾çæ¼æ¥,TFS åå¸æ¨¡å¼ä¸ 0- ä¸æ¼æ¥ 1- æ¼æ¥
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 23, ArraySubType = UnmanagedType.I1)]
public byte[] byRes1; // ä¿çåè
}
//åæ¡äº¤éäºä»¶è§åç»æä½
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_ONE_AID_RULE
{
public byte byEnable; // æ¯å¦å¯ç¨äºä»¶è§å
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 3, ArraySubType = UnmanagedType.I1)]
public byte[] byRes1; // ä¿çåè
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = NAME_LEN, ArraySubType = UnmanagedType.I1)]
public byte[] byRuleName; // è§åå称
public uint dwEventType; // 交éäºä»¶æ£æµç±»å TRAFFIC_AID_TYPE
public NET_VCA_SIZE_FILTER struSizeFilter; // 尺寸è¿æ»¤å¨
public NET_VCA_POLYGON struPolygon; // è§ååºå
public NET_DVR_AID_PARAM struAIDParam; // äºä»¶åæ°
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_DAYS * MAX_TIMESEGMENT_2, ArraySubType = UnmanagedType.Struct)]
public NET_DVR_SCHEDTIME[] struAlarmTime;//å¸é²æ¶é´
public NET_DVR_HANDLEEXCEPTION_V30 struHandleType; //å¤çæ¹å¼
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_CHANNUM_V30, ArraySubType = UnmanagedType.I1)]
public byte[] byRelRecordChan; //æ¥è¦è§¦åçå½è±¡éé,为1表示触å该éé
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 20, ArraySubType = UnmanagedType.I1)]
public byte[] byRes2;
}
//交éäºä»¶è§å
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_AID_RULECFG
{
public uint dwSize; // ç»æä½å¤§å°
public byte byPicProType; //æ¥è¦æ¶å¾çå¤çæ¹å¼ 0-ä¸å¤ç é0-ä¸ä¼
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 3, ArraySubType = UnmanagedType.I1)]
public byte[] byRes1; // ä¿çåè
public NET_DVR_JPEGPARA struPictureParam; //å¾çè§æ ¼ç»æ
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_AID_RULE, ArraySubType = UnmanagedType.Struct)]
public NET_DVR_ONE_AID_RULE[] struOneAIDRule;
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 32, ArraySubType = UnmanagedType.I1)]
public byte[] byRes2;
}
//åæ¡äº¤éäºä»¶è§åç»æä½(æ©å±)
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_ONE_AID_RULE_V41
{
public byte byEnable; // æ¯å¦å¯ç¨äºä»¶è§å
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 3, ArraySubType = UnmanagedType.I1)]
public byte[] byRes1; // ä¿çåè
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = NAME_LEN, ArraySubType = UnmanagedType.I1)]
public byte[] byRuleName; // è§åå称
public uint dwEventType; // 交éäºä»¶æ£æµç±»å TRAFFIC_AID_TYPE
public NET_VCA_SIZE_FILTER struSizeFilter; // 尺寸è¿æ»¤å¨
public NET_VCA_POLYGON struPolygon; // è§ååºå
public NET_DVR_AID_PARAM struAIDParam; // äºä»¶åæ°
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_DAYS * MAX_TIMESEGMENT_V30, ArraySubType = UnmanagedType.Struct)]
public NET_DVR_SCHEDTIME[] struAlarmTime;// å¸é²æ¶é´æ®µ
public NET_DVR_HANDLEEXCEPTION_V30 struHandleType; //å¤çæ¹å¼
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_IVMS_IP_CHANNEL, ArraySubType = UnmanagedType.I1)]
public byte[] byRelRecordChan; //æ¥è¦è§¦åçå½è±¡ééï¼1表示触å该ééï¼0表示ä¸è§¦å
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 60, ArraySubType = UnmanagedType.I1)]
public byte[] byRes2; //ä¿ç
}
//交éäºä»¶è§å(æ©å±)
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_AID_RULECFG_V41
{
public uint dwSize; // ç»æä½å¤§å°
public byte byPicProType; // æ¥è¦æ¶å¾çå¤çæ¹å¼ 0-ä¸å¤ç é0-ä¸ä¼
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 3, ArraySubType = UnmanagedType.I1)]
public byte[] byRes1; // ä¿çåè
public NET_DVR_JPEGPARA struPictureParam; // å¾çè§æ ¼ç»æ
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_AID_RULE, ArraySubType = UnmanagedType.Struct)]
public NET_DVR_ONE_AID_RULE_V41[] struAIDRule; //è§åæ°ç»
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 128, ArraySubType = UnmanagedType.I1)]
public byte[] byRes2; //ä¿ç
}
//交éç»è®¡åæ°ç»æä½
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_ONE_TPS_RULE
{
public byte byEnable; //æ¯å¦ä½¿è½è½¦é交éè§ååæ°
public byte byLaneID; //车éID
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 2, ArraySubType = UnmanagedType.I1)]
public byte[] byRes1;
public uint dwCalcType; //ç»è®¡åæ°ç±»åITS_TPS_TYPE
public NET_VCA_SIZE_FILTER struSizeFilter; //尺寸è¿æ»¤å¨
public NET_VCA_POLYGON struVitrualLoop; //èæ线å
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_DAYS * MAX_TIMESEGMENT_2, ArraySubType = UnmanagedType.Struct)]
public NET_DVR_SCHEDTIME[] struAlarmTime;//å¸é²æ¶é´
public NET_DVR_HANDLEEXCEPTION_V30 struHandleType; //å¤çæ¹å¼,ä¸è¬ä¸ºå¤çæ¯å¦ä¸ä¼ ä¸å¿ï¼å
¶ä»åè½ä¸éè¦
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 20, ArraySubType = UnmanagedType.I1)]
public byte[] byRes2; //ä¿çåè
}
//交éåæ°ç»è®¡è§åé
ç½®ç»æä½
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_TPS_RULECFG
{
public uint dwSize; // ç»æ大å°
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_TPS_RULE, ArraySubType = UnmanagedType.Struct)]
public NET_DVR_ONE_TPS_RULE[] struOneTpsRule; // ä¸æ 对åºäº¤éåæ°ID
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 40, ArraySubType = UnmanagedType.I1)]
public byte[] byRes2; // ä¿çåè
}
//交éç»è®¡åæ°ç»æä½(æ©å±)
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_ONE_TPS_RULE_V41
{
public byte byEnable; //æ¯å¦ä½¿è½è½¦é交éè§ååæ°
public byte byLaneID; //车éID
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 2, ArraySubType = UnmanagedType.I1)]
public byte[] byRes1; //ä¿ç
public uint dwCalcType; // ç»è®¡åæ°ç±»åITS_TPS_TYPE
public NET_VCA_SIZE_FILTER struSizeFilter; //尺寸è¿æ»¤å¨
public NET_VCA_POLYGON struVitrualLoop; //èæ线å
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_DAYS * MAX_TIMESEGMENT_V30, ArraySubType = UnmanagedType.Struct)]
public NET_DVR_SCHEDTIME[] struAlarmTime;//å¸é²æ¶é´
public NET_DVR_HANDLEEXCEPTION_V30 struHandleType; //å¤çæ¹å¼
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 60, ArraySubType = UnmanagedType.I1)]
public byte[] byRes2; // ä¿çåè
}
//交éåæ°ç»è®¡è§åé
ç½®ç»æä½(æ©å±)
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_TPS_RULECFG_V41
{
public uint dwSize; // ç»æ大å°
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_TPS_RULE, ArraySubType = UnmanagedType.Struct)]
public NET_DVR_ONE_TPS_RULE_V41[] struOneTpsRule; // ä¸æ 对åºäº¤éåæ°ID
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 128, ArraySubType = UnmanagedType.I1)]
public byte[] byRes; // ä¿ç
}
//交éäºä»¶ä¿¡æ¯
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_AID_INFO
{
public byte byRuleID; // è§ååºå·ï¼ä¸ºè§åé
ç½®ç»æä¸æ ï¼0-16
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 3, ArraySubType = UnmanagedType.I1)]
public byte[] byRes1;
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = NAME_LEN, ArraySubType = UnmanagedType.I1)]
public byte[] byRuleName; // è§åå称
public uint dwAIDType; // æ¥è¦äºä»¶ç±»å
public NET_DVR_DIRECTION struDirect; // æ¥è¦æååºå
public byte bySpeedLimit; //ééå¼ï¼åä½km/h[0,255]
public byte byCurrentSpeed; //å½åé度å¼ï¼åä½km/h[0,255]
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 38, ArraySubType = UnmanagedType.I1)]
public byte[] byRes2; // ä¿çåè
}
//交éäºä»¶æ¥è¦
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_AID_ALARM
{
public uint dwSize; // ç»æé¿åº¦
public uint dwRelativeTime; // ç¸å¯¹æ¶æ
public uint dwAbsTime; // ç»å¯¹æ¶æ
public NET_VCA_DEV_INFO struDevInfo; // å端设å¤ä¿¡æ¯
public NET_DVR_AID_INFO struAIDInfo; // 交éäºä»¶ä¿¡æ¯
public uint dwPicDataLen; // è¿åå¾ççé¿åº¦ 为0表示没æå¾çï¼å¤§äº0表示该ç»æåé¢ç´§è·å¾çæ°æ®
public IntPtr pImage; // æåå¾ççæé
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 40, ArraySubType = UnmanagedType.I1)]
public byte[] byRes; // ä¿çåè
}
//车ééåç»æä½
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_LANE_QUEUE
{
public NET_VCA_POINT struHead; //éå头
public NET_VCA_POINT struTail; //éåå°¾
public uint dwLength; //å®é
éåé¿åº¦ åä½ä¸ºç±³ [0-500]
}
public enum TRAFFIC_DATA_VARY_TYPE
{
NO_VARY, //æ åå
VEHICLE_ENTER, //车è¾è¿å
¥èæ线å
VEHICLE_LEAVE, //车è¾ç¦»å¼èæ线å
UEUE_VARY //éååå
}
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_LANE_PARAM
{
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = NAME_LEN, ArraySubType = UnmanagedType.I1)]
public byte[] byRuleName; //车éè§åå称
public byte byRuleID; //è§ååºå·ï¼ä¸ºè§åé
ç½®ç»æä¸æ ï¼0-7
public byte byVaryType; //车é交éåæ°ååç±»å åç
§ TRAFFIC_DATA_VARY_TYPE
public byte byLaneType; //车éä¸è¡æä¸è¡
public byte byRes1;
public uint dwLaneVolume; //车éæµé ï¼ç»è®¡æå¤å°è½¦åéè¿
public uint dwLaneVelocity; //车éé度ï¼å
¬é计ç®
public uint dwTimeHeadway; //车头æ¶è·ï¼ä»¥ç§è®¡ç®
public uint dwSpaceHeadway; //车头é´è·ï¼ä»¥ç±³æ¥è®¡ç®
public float fSpaceOccupyRation; //车éå æçï¼ç¾åæ¯è®¡ç®ï¼ç©ºé´ä¸)
public NET_DVR_LANE_QUEUE struLaneQueue; //车ééåé¿åº¦
public NET_VCA_POINT struRuleLocation; //线åè§åçä¸å¿ç¹ä½ç½®
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 32, ArraySubType = UnmanagedType.I1)]
public byte[] byRes2;
}
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_TPS_INFO
{
public uint dwLanNum; // 交éåæ°ç车éæ°ç®
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_TPS_RULE, ArraySubType = UnmanagedType.Struct)]
public NET_DVR_LANE_PARAM[] struLaneParam;
}
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_TPS_ALARM
{
public uint dwSize; //ç»æä½å¤§å°
public uint dwRelativeTime; //ç¸å¯¹æ¶æ
public uint dwAbsTime; //ç»å¯¹æ¶æ
public NET_VCA_DEV_INFO struDevInfo; //å端设å¤ä¿¡æ¯
public NET_DVR_TPS_INFO struTPSInfo; //交éäºä»¶ä¿¡æ¯
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 32, ArraySubType = UnmanagedType.I1)]
public byte[] byRes1; //ä¿çåè
}
public enum TRAFFIC_DATA_VARY_TYPE_EX_ENUM
{
ENUM_TRAFFIC_VARY_NO = 0x00, //æ åå
ENUM_TRAFFIC_VARY_VEHICLE_ENTER = 0x01, //车è¾è¿å
¥èæ线å
ENUM_TRAFFIC_VARY_VEHICLE_LEAVE = 0x02, //车è¾ç¦»å¼èæ线å
ENUM_TRAFFIC_VARY_QUEUE = 0x04, //éååå
ENUM_TRAFFIC_VARY_STATISTIC = 0x08, //ç»è®¡æ°æ®ååï¼æ¯åéååä¸æ¬¡å
æ¬å¹³åé度ï¼è½¦é空é´/æ¶é´å æçï¼äº¤éç¶æï¼
}
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_LANE_PARAM_V41
{
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = NAME_LEN, ArraySubType = UnmanagedType.I1)]
public byte[] byRuleName; // 车éè§åå称
public byte byRuleID; // è§ååºå·ï¼ä¸ºè§åé
ç½®ç»æä¸æ ï¼0-7
public byte byLaneType; // 车éä¸è¡æä¸è¡
public byte byTrafficState; // 车éç交éç¶æï¼0-æ æï¼1-ç
éï¼2-æ¥æ¤ï¼3-å µå¡
public byte byRes1; // ä¿ç
public uint dwVaryType; // 车é交éåæ°ååç±»ååç
§ TRAFFIC_DATA_VARY_TYPE_EX_ENUMï¼æä½åºå
public uint dwTpsType; // æ°æ®ååç±»åæ å¿ï¼è¡¨ç¤ºå½åä¸ä¼ çç»è®¡åæ°ä¸ï¼åªäºæ°æ®ææï¼åç
§ITS_TPS_TYPE,æä½åºå
public uint dwLaneVolume; // 车éæµéï¼ç»è®¡æå¤å°è½¦åéè¿
public uint dwLaneVelocity; // 车éé度ï¼å
¬é计ç®
public uint dwTimeHeadway ; // 车头æ¶è·ï¼ä»¥ç§è®¡ç®
public uint dwSpaceHeadway; // 车头é´è·ï¼ä»¥ç±³æ¥è®¡ç®
public float fSpaceOccupyRation; // 车éå æçï¼ç¾åæ¯è®¡ç®ï¼ç©ºé´ä¸)
public float fTimeOccupyRation; // æ¶é´å æçï¼ç¾åæ¯è®¡ç®
public uint dwLightVehicle; // å°å车æ°é
public uint dwMidVehicle; // ä¸å车æ°é
public uint dwHeavyVehicle; // éå车æ°é
public NET_DVR_LANE_QUEUE struLaneQueue; // 车ééåé¿åº¦
public NET_VCA_POINT struRuleLocation; // è§åä½ç½®èæ线åçä¸å¿
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 64, ArraySubType = UnmanagedType.I1)]
public byte[] byRes2; // ä¿ç
}
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_TPS_INFO_V41
{
public uint dwLanNum; // 交éåæ°ç车éæ°ç®
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_TPS_RULE, ArraySubType = UnmanagedType.Struct)]
public NET_DVR_LANE_PARAM_V41[] struLaneParam;
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 32, ArraySubType = UnmanagedType.I1)]
public byte[] byRes; //ä¿ç
}
//人è¸è§åé
ç½®
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_FACEDETECT_RULECFG
{
public uint dwSize; // ç»æä½å¤§å°
public byte byEnable; // æ¯å¦å¯ç¨
public byte byEventType; //è¦æäºä»¶ç±»åï¼ 0-å¼å¸¸äººè¸; 1-æ£å¸¸äººè¸;2-å¼å¸¸äººè¸&æ£å¸¸äººè¸;
public byte byUpLastAlarm; //2011-04-06 æ¯å¦å
ä¸ä¼ æè¿ä¸æ¬¡çæ¥è¦
public byte byUpFacePic; //æ¯å¦ä¸ä¼ 人è¸åå¾ï¼0-å¦ï¼1-æ¯
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = NAME_LEN, ArraySubType = UnmanagedType.I1)]
public byte[] byRuleName;
public NET_VCA_POLYGON struVcaPolygon; // 人è¸æ£æµè§ååºå
public byte byPicProType; //æ¥è¦æ¶å¾çå¤çæ¹å¼ 0-ä¸å¤ç é0-ä¸ä¼
public byte bySensitivity; // è§åçµæ度
public ushort wDuration; // 触å人è¸æ¥è¦æ¶é´éå¼
public NET_DVR_JPEGPARA struPictureParam; //å¾çè§æ ¼ç»æ
public NET_VCA_SIZE_FILTER struSizeFilter; //尺寸è¿æ»¤å¨
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_DAYS * MAX_TIMESEGMENT_2, ArraySubType = UnmanagedType.Struct)]
public NET_DVR_SCHEDTIME[] struAlarmTime;//å¸é²æ¶é´
public NET_DVR_HANDLEEXCEPTION_V30 struHandleType; //å¤çæ¹å¼
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_CHANNUM_V30, ArraySubType = UnmanagedType.I1)]
public byte[] byRelRecordChan; //æ¥è¦è§¦åçå½è±¡éé,为1表示触å该éé
public byte byPicRecordEnable; /*2012-3-1æ¯å¦å¯ç¨å¾çåå¨, 0-ä¸å¯ç¨, 1-å¯ç¨*/
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 39, ArraySubType = UnmanagedType.I1)]
public byte[] byRes2; //ä¿çåè
}
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_FACE_PIPCFG
{
public byte byEnable; //æ¯å¦å¼å¯ç»ä¸ç»
public byte byBackChannel; //èæ¯ééå·ï¼é¢æ¿ééï¼
public byte byPosition; //å å ä½ç½®ï¼0-å·¦ä¸,1-å·¦ä¸,2-å³ä¸,3-å³ä¸
public byte byPIPDiv; //åå±ç³»æ°(人è¸ç»é¢:é¢æ¿ç»é¢)ï¼0-1:4,1-1:9,2-1:16
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 4, ArraySubType = UnmanagedType.I1)]
public byte[] byRes;
}
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_FACEDETECT_RULECFG_V41
{
public uint dwSize; // ç»æä½å¤§å°
public byte byEnable; // æ¯å¦å¯ç¨
public byte byEventType; //è¦æäºä»¶ç±»åï¼ 0-å¼å¸¸äººè¸; 1-æ£å¸¸äººè¸;2-å¼å¸¸äººè¸&æ£å¸¸äººè¸;
public byte byUpLastAlarm; //2011-04-06 æ¯å¦å
ä¸ä¼ æè¿ä¸æ¬¡çæ¥è¦
public byte byUpFacePic; //æ¯å¦ä¸ä¼ 人è¸åå¾ï¼0-å¦ï¼1-æ¯
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = NAME_LEN, ArraySubType = UnmanagedType.I1)]
public byte[] byRuleName;
public NET_VCA_POLYGON struVcaPolygon; // 人è¸æ£æµè§ååºå
public byte byPicProType; //æ¥è¦æ¶å¾çå¤çæ¹å¼ 0-ä¸å¤ç é0-ä¸ä¼
public byte bySensitivity; // è§åçµæ度
public ushort wDuration; // 触å人è¸æ¥è¦æ¶é´éå¼
public NET_DVR_JPEGPARA struPictureParam; //å¾çè§æ ¼ç»æ
public NET_VCA_SIZE_FILTER struSizeFilter; //尺寸è¿æ»¤å¨
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_DAYS * MAX_TIMESEGMENT_V30, ArraySubType = UnmanagedType.Struct)]
public NET_DVR_SCHEDTIME[] struAlarmTime;//å¸é²æ¶é´
public NET_DVR_HANDLEEXCEPTION_V30 struHandleType; //å¤çæ¹å¼
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_CHANNUM_V30, ArraySubType = UnmanagedType.I1)]
public byte[] byRelRecordChan; //æ¥è¦è§¦åçå½è±¡éé,为1表示触å该éé
public byte byPicRecordEnable; /*2012-10-22æ¯å¦å¯ç¨å¾çåå¨, 0-ä¸å¯ç¨, 1-å¯ç¨*/
public byte byRes1;
public ushort wAlarmDelay; //2012-10-22æºè½æ¥è¦å»¶æ¶ï¼0-5s,1-10,2-30s,3-60s,4-120s,5-300s,6-600s
public NET_DVR_FACE_PIPCFG struFacePIP; //2012-11-7ç»ä¸ç»åæ°
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 28, ArraySubType = UnmanagedType.I1)]
public byte[] byRes; //ä¿çåè
}
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_FACEDETECT_ALARM
{
public uint dwSize; // ç»æ大å°
public uint dwRelativeTime; // ç¸å¯¹æ¶æ
public uint dwAbsTime; // ç»å¯¹æ¶æ
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = NAME_LEN, ArraySubType = UnmanagedType.I1)]
public byte[] byRuleName; // è§åå称
public NET_VCA_TARGET_INFO struTargetInfo; //æ¥è¦ç®æ ä¿¡æ¯
public NET_VCA_DEV_INFO struDevInfo; //å端设å¤ä¿¡æ¯
public uint dwPicDataLen; //è¿åå¾ççé¿åº¦ 为0表示没æå¾çï¼å¤§äº0表示该ç»æåé¢ç´§è·å¾çæ°æ®*/
public byte byAlarmPicType; // 0-å¼å¸¸äººè¸æ¥è¦å¾ç 1- 人è¸å¾ç,2-å¤å¼ 人è¸
public byte byPanelChan; /*2012-3-1人è¸ééå
³èçé¢æ¿éé*/
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 2, ArraySubType = UnmanagedType.I1)]
public byte[] byRes1;
public uint dwFacePicDataLen; //人è¸å¾ççé¿åº¦ 为0表示没æå¾çï¼å¤§äº0表示该ç»æåé¢ç´§è·å¾çæ°æ®*/
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 48, ArraySubType = UnmanagedType.I1)]
public byte[] byRes; // ä¿çåè
public IntPtr pFaceImage; //æå人è¸å¾æé
public IntPtr pImage; //æåå¾ççæé
}
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_EVENT_PARAM_UNION
{
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 3, ArraySubType = UnmanagedType.U4)]
public uint[] uLen; // èåä½å¤§å°ä¸º12åè
public uint dwHumanIn; //ææ 人æ¥è¿ 0 - æ 人 1- æ人
public float fCrowdDensity; // 人åèéå¼
}
//ç®ååªææ人æ 人äºä»¶å人åèéäºä»¶å®æ¶æ¥è¦ä¸ä¼
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_EVENT_INFO
{
public byte byRuleID; // Rule ID
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 3, ArraySubType = UnmanagedType.I1)]
public byte[] byRes; // ä¿çåè
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = NAME_LEN, ArraySubType = UnmanagedType.I1)]
public byte[] byRuleName; // è§åå称
public uint dwEventType; // åç
§VCA_EVENT_TYPE
public NET_DVR_EVENT_PARAM_UNION uEventParam; //
}
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_EVENT_INFO_LIST
{
public byte byNum; // äºä»¶å®æ¶ä¿¡æ¯ä¸ªæ°
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 3, ArraySubType = UnmanagedType.I1)]
public byte[] byRes1; // ä¿çåè
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_RULE_NUM, ArraySubType = UnmanagedType.Struct)]
public NET_DVR_EVENT_INFO[] struEventInfo; // äºé
å®æ¶ä¿¡æ¯
}
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_RULE_INFO_ALARM
{
public uint dwSize; // ç»æä½å¤§å°
public uint dwRelativeTime; // ç¸å¯¹æ¶æ
public uint dwAbsTime; // ç»å¯¹æ¶æ
public NET_VCA_DEV_INFO struDevInfo; // å端设å¤ä¿¡æ¯
public NET_DVR_EVENT_INFO_LIST struEventInfoList; //äºä»¶ä¿¡æ¯å表
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 40, ArraySubType = UnmanagedType.I1)]
public byte[] byRes2; // ä¿çåè
}
//åæ¡åºæ¯æ¶é´æ®µ
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_ONE_SCENE_TIME
{
public byte byActive; //0 -æ æ,1âææ
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 3, ArraySubType = UnmanagedType.I1)]
public byte[] byRes1; //ä¿ç
public uint dwSceneID; //åºæ¯ID
public NET_DVR_SCHEDTIME struEffectiveTime; //åºæ¯èµ·ææ¶é´
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 16, ArraySubType = UnmanagedType.I1)]
public byte[] byRes2; //ä¿ç
}
//åºæ¯èµ·ææ¶é´æ®µé
ç½®
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_SCENE_TIME_CFG
{
public uint dwSize; //ç»æ大å°
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_SCENE_TIMESEG_NUM, ArraySubType = UnmanagedType.Struct)]
public NET_DVR_ONE_SCENE_TIME[] struSceneTime; //åºæ¯æ¶é´æ®µæ°ç»
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 64, ArraySubType = UnmanagedType.I1)]
public byte[] byRes; //ä¿ç
}
//åæ¡åºæ¯é
置信æ¯
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_ONE_SCENE_CFG
{
public byte byEnable; //æ¯å¦å¯ç¨è¯¥åºæ¯,0-ä¸å¯ç¨ 1- å¯ç¨
public byte byDirection; //çæµæ¹å 1-ä¸è¡ï¼2-ä¸è¡ï¼3-ååï¼4-ç±ä¸å西ï¼5-ç±åååï¼6-ç±è¥¿åä¸ï¼7-ç±åååï¼8-å
¶å®
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 2, ArraySubType = UnmanagedType.I1)]
public byte[] byRes1; //ä¿ç
public uint dwSceneID; //åºæ¯ID(åªè¯»), 0 - 表示该åºæ¯æ æ
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = NAME_LEN, ArraySubType = UnmanagedType.I1)]
public byte[] bySceneName; //åºæ¯å称
public NET_DVR_PTZPOS struPtzPos; //ptz åæ
public uint dwTrackTime; //çæºè·è¸ªæ¶é´[5,300] ç§ï¼TFS(交éåè¯)模å¼ä¸ææ
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 24, ArraySubType = UnmanagedType.I1)]
public byte[] byRes2; //ä¿ç
}
//åºæ¯é
ç½®ç»æä½
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_SCENE_CFG
{
public uint dwSize; //ç»æ大å°
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_ITS_SCENE_NUM, ArraySubType = UnmanagedType.Struct)]
public NET_DVR_ONE_SCENE_CFG[] struSceneCfg; //åºæ¯é
置信æ¯
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 40, ArraySubType = UnmanagedType.I1)]
public byte[] byRes; //ä¿ç
}
//å¤åºæ¯æä½æ¡ä»¶
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_SCENE_COND
{
public uint dwSize; //ç»æ大å°
public Int32 lChannel; //ééå·
public uint dwSceneID; //åºæ¯ID, 0-表示该åºæ¯æ æ
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 48, ArraySubType = UnmanagedType.I1)]
public byte[] byRes; //ä¿ç
}
//åè¯æ¹å¼
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_FORENSICS_MODE
{
public uint dwSize; //ç»æ大å°
public byte byMode; // 0-æå¨åè¯ ,1-èªå¨åè¯
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 23, ArraySubType = UnmanagedType.I1)]
public byte[] byRes; //ä¿ç
}
//æ¥è¦åºæ¯ä¿¡æ¯
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_SCENE_INFO
{
public uint dwSceneID; //åºæ¯ID, 0 - 表示该åºæ¯æ æ
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = NAME_LEN, ArraySubType = UnmanagedType.I1)]
public byte[] bySceneName; //åºæ¯å称
public byte byDirection; //çæµæ¹å 1-ä¸è¡ï¼2-ä¸è¡ï¼3-ååï¼4-ç±ä¸å西ï¼5-ç±åååï¼6-ç±è¥¿åä¸ï¼7-ç±åååï¼8-å
¶å®
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 3, ArraySubType = UnmanagedType.I1)]
public byte[] byRes1; //ä¿ç
public NET_DVR_PTZPOS struPtzPos; //Ptz åæ
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 64, ArraySubType = UnmanagedType.I1)]
public byte[] byRes2 ; //ä¿ç
}
//交éäºä»¶æ¥è¦(æ©å±)
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_AID_ALARM_V41
{
public uint dwSize; //ç»æé¿åº¦
public uint dwRelativeTime; //ç¸å¯¹æ¶æ
public uint dwAbsTime; //ç»å¯¹æ¶æ
public NET_VCA_DEV_INFO struDevInfo; //å端设å¤ä¿¡æ¯
public NET_DVR_AID_INFO struAIDInfo; //交éäºä»¶ä¿¡æ¯
public NET_DVR_SCENE_INFO struSceneInfo; //åºæ¯ä¿¡æ¯
public uint dwPicDataLen; //å¾çé¿åº¦
public IntPtr pImage; //æåå¾ççæé
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 128, ArraySubType = UnmanagedType.I1)]
public byte[] byRes; //ä¿ç
}
//交éç»è®¡ä¿¡æ¯æ¥è¦(æ©å±)
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_TPS_ALARM_V41
{
public uint dwSize; // ç»æä½å¤§å°
public uint dwRelativeTime; // ç¸å¯¹æ¶æ
public uint dwAbsTime; // ç»å¯¹æ¶æ
public NET_VCA_DEV_INFO struDevInfo; // å端设å¤ä¿¡æ¯
public NET_DVR_TPS_INFO_V41 struTPSInfo; // 交éåæ°ç»è®¡ä¿¡æ¯
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 128, ArraySubType = UnmanagedType.I1)]
public byte[] byRes; // ä¿ç
}
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_VCA_VERSION
{
public ushort wMajorVersion; // 主çæ¬å·
public ushort wMinorVersion; // 次çæ¬å·
public ushort wRevisionNumber; // ä¿®æ£å·
public ushort wBuildNumber; // ç¼è¯å·
public ushort wVersionYear; // çæ¬æ¥æ-å¹´
public byte byVersionMonth; // çæ¬æ¥æ-æ
public byte byVersionDay; // çæ¬æ¥æ-æ¥
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 8, ArraySubType = UnmanagedType.I1)]
public byte[] byRes; // ä¿çåè
}
/*******************************æºè½äº¤éäºä»¶ end*****************************************/
/******************************车çè¯å« begin******************************************/
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_PLATE_PARAM
{
public byte byPlateRecoMode; //车çè¯å«ç模å¼,é»è®¤ä¸º1(è§é¢è§¦å模å¼)
public byte byBelive; /*æ´ç置信度éå¼, åªç¨äºè§é¢è¯å«æ¹å¼, æ ¹æ®èæ¯å¤æç¨åº¦è®¾ç½®, 误触åçé«å°±è®¾é«, æ¼è½¦çé«å°±è®¾ä½,
* 建议å¨80-90èå´å
*/
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 22, ArraySubType = UnmanagedType.I1)]
public byte[] byRes; //ä¿çåè
}
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_PLATECFG
{
public uint dwSize;
public uint dwEnable; /* æ¯å¦å¯ç¨è§é¢è½¦çè¯å« 0ï¼å¦ 1ï¼æ¯ */
public byte byPicProType; //æ¥è¦æ¶å¾çå¤çæ¹å¼ 0-ä¸å¤ç é0-ä¸ä¼
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 3, ArraySubType = UnmanagedType.I1)]
public byte[] byRes1; // ä¿çåè
public NET_DVR_JPEGPARA struPictureParam; //å¾çè§æ ¼ç»æ
public NET_DVR_PLATE_PARAM struPlateParam; // 车çè¯å«åæ°é
ç½®
public NET_DVR_HANDLEEXCEPTION struHandleType; /* å¤çæ¹å¼ */
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_DAYS * MAX_TIMESEGMENT, ArraySubType = UnmanagedType.Struct)]
public NET_DVR_SCHEDTIME[] struAlarmTime;//å¸é²æ¶é´
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_CHANNUM, ArraySubType = UnmanagedType.I1)]
public byte[] byRelRecordChan; //æ¥è¦è§¦åçå½è±¡éé,为1表示触å该éé
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 20, ArraySubType = UnmanagedType.I1)]
public byte[] byRes; // ä¿çåè
}
//车çè¯å«ç»æåç»æ
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_PLATE_INFO
{
public byte byPlateType; //车çç±»å
public byte byColor; //车çé¢è²
public byte byBright; //车ç亮度
public byte byLicenseLen; //车çå符个æ°
public byte byEntireBelieve;//æ´ä¸ªè½¦çç置信度ï¼0-100
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 35, ArraySubType = UnmanagedType.I1)]
public byte[] byRes;//ä¿ç
public NET_VCA_RECT struPlateRect; //车çä½ç½®
[MarshalAsAttribute(UnmanagedType.ByValTStr, SizeConst = MAX_LICENSE_LEN)]
public string sLicense; //车çå·ç
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_LICENSE_LEN, ArraySubType = UnmanagedType.I1)]
public byte[] byBelieve; //å个è¯å«å符ç置信度ï¼å¦æ£æµå°è½¦ç"æµA12345", 置信度为,20,30,40,50,60,70ï¼å表示"æµ"åæ£ç¡®çå¯è½æ§åªæ%ï¼"A"åçæ£ç¡®çå¯è½æ§æ¯%
}
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_PLATERECO_RESULE
{
public uint dwSize;
public uint dwRelativeTime; //ç¸å¯¹æ¶æ
public uint dwAbsTime; //ç»å¯¹æ¶æ
public NET_VCA_DEV_INFO struDevInfo; // å段设å¤ä¿¡æ¯
public NET_DVR_PLATE_INFO struPlateInfo;
public uint dwPicDataLen; //è¿åå¾ççé¿åº¦ 为0表示没æå¾çï¼å¤§äº0表示该ç»æåé¢ç´§è·å¾çæ°æ®
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 4, ArraySubType = UnmanagedType.U4)]
public uint[] dwRes; //ä¿çï¼è®¾ç½®ä¸º0
public IntPtr pImage; //æåå¾ççæé
}
/******************************车çè¯å« end******************************************/
/******************************æææº*******************************************/
//IOè¾å
¥é
ç½®
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_IO_INCFG
{
public uint dwSize;
public byte byIoInStatus;//è¾å
¥çIOå£ç¶æï¼0-ä¸é沿ï¼1-ä¸å沿ï¼2-ä¸å沿åä¸é沿ï¼3-é«çµå¹³ï¼4-ä½çµå¹³
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 3, ArraySubType = UnmanagedType.I1)]
public byte[] byRes;//ä¿çåè
}
//IOè¾åºé
ç½®
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_IO_OUTCFG
{
public uint dwSize;
public byte byDefaultStatus;//IOé»è®¤ç¶æï¼0-ä½çµå¹³ï¼1-é«çµå¹³
public byte byIoOutStatus;//IOèµ·ææ¶ç¶æï¼0-ä½çµå¹³ï¼1-é«çµå¹³ï¼2-èå²
public ushort wAheadTime;//è¾åºIOæåæ¶é´ï¼åä½us
public uint dwTimePluse;//èå²é´éæ¶é´ï¼åä½us
public uint dwTimeDelay;//IOæææç»æ¶é´ï¼åä½us
public byte byFreqMulti; //åé¢ï¼æ°å¼èå´[1,15]
public byte byDutyRate; //å 空æ¯ï¼[0,40%]
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 2, ArraySubType = UnmanagedType.I1)]
public byte[] byRes;
}
//éªå
ç¯é
ç½®
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_FLASH_OUTCFG
{
public uint dwSize;
public byte byMode;//éªå
ç¯éªç模å¼ï¼0-ä¸éªï¼1-éªï¼2-å
³èéªï¼3-è½®éª
public byte byRelatedIoIn;//éªå
ç¯å
³èçè¾å
¥IOå·ï¼å
³èéªæ¶æ¤åæ°ææï¼
public byte byRecognizedLane; /*å
³èçIOå·ï¼æä½è¡¨ç¤ºï¼bit0表示IO1æ¯å¦å
³èï¼0-ä¸å
³èï¼1-å
³è*/
public byte byDetectBrightness;/*èªå¨æ£æµäº®åº¦ä½¿è½éªå
ç¯0-ä¸æ£æµï¼1-æ£æµ*/
public byte byBrightnessThreld;/*使è½éªå
ç¯äº®åº¦éå¼ï¼èå´[0,100],é«äºéå¼éª*/
public byte byStartHour; //å¼å§æ¶é´-å°æ¶,åå¼èå´0-23
public byte byStartMinute; //å¼å§æ¶é´-å,åå¼èå´0-59
public byte byEndHour; //ç»ææ¶é´-å°æ¶,åå¼èå´0-23
public byte byEndMinute; //ç»ææ¶é´-å,åå¼èå´0-59
public byte byFlashLightEnable; //设置éªå
ç¯æ¶é´ä½¿è½:0-å
³;1-å¼
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 2, ArraySubType = UnmanagedType.I1)]
public byte[] byRes;
}
//红绿ç¯åè½ï¼2个IOè¾å
¥ä¸ç»ï¼
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_LIGHTSNAPCFG
{
public uint dwSize;
public byte byLightIoIn;//红绿ç¯çIO å·
public byte byTrigIoIn;//触åçIOå·
public byte byRelatedDriveWay;//触åIOå
³èç车éå·
public byte byTrafficLight; //0-é«çµå¹³çº¢ç¯ï¼ä½çµå¹³ç»¿ç¯ï¼1-é«çµå¹³ç»¿ç¯ï¼ä½çµå¹³çº¢ç¯
public byte bySnapTimes1; //红ç¯ææ次æ°1ï¼0-ä¸ææï¼é0-è¿æ次æ°ï¼æ大5次
public byte bySnapTimes2; //绿ç¯ææ次æ°2ï¼0-ä¸ææï¼é0-è¿æ次æ°ï¼æ大5次
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 2, ArraySubType = UnmanagedType.I1)]
public byte[] byRes1;
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_INTERVAL_NUM, ArraySubType = UnmanagedType.U2)]
public ushort[] wIntervalTime1;//红ç¯è¿æé´éæ¶é´ï¼ms
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_INTERVAL_NUM, ArraySubType = UnmanagedType.U2)]
public ushort[] wIntervalTime2;//绿ç¯è¿æé´éæ¶é´ï¼ms
public byte byRecord;//é¯çº¢ç¯å¨æå½åæ å¿ï¼0-ä¸å½åï¼1-å½å
public byte bySessionTimeout;//é¯çº¢ç¯å¨æå½åè¶
æ¶æ¶é´ï¼ç§ï¼
public byte byPreRecordTime;//é¯çº¢ç¯å½åç段é¢å½æ¶é´(ç§)
public byte byVideoDelay;//é¯çº¢ç¯å½åç段延æ¶æ¶é´ï¼ç§ï¼
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 32, ArraySubType = UnmanagedType.I1)]
public byte[] byRes2;//ä¿çåè
}
//æµéåè½(2个IOè¾å
¥ä¸ç»ï¼
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_MEASURESPEEDCFG
{
public uint dwSize;
public byte byTrigIo1; //æµé第1线å
public byte byTrigIo2; //æµé第2线å
public byte byRelatedDriveWay;//触åIOå
³èç车éå·
public byte byTestSpeedTimeOut;//æµé模å¼è¶
æ¶æ¶é´ï¼åä½s
public uint dwDistance;//线åè·ç¦»,cm
public byte byCapSpeed;//æµé模å¼èµ·æé度ï¼åä½km/h
public byte bySpeedLimit;//ééå¼ï¼åä½km/h
public byte bySnapTimes1; //线å1ææ次æ°ï¼0-ä¸ææï¼é0-è¿æ次æ°ï¼æ大5次
public byte bySnapTimes2; //线å2ææ次æ°ï¼0-ä¸ææï¼é0-è¿æ次æ°ï¼æ大5次
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_INTERVAL_NUM, ArraySubType = UnmanagedType.U2)]
public ushort[] wIntervalTime1;//线å1è¿æé´éæ¶é´ï¼ms
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_INTERVAL_NUM, ArraySubType = UnmanagedType.U2)]
public ushort[] wIntervalTime2;//线å2è¿æé´éæ¶é´ï¼ms
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 32, ArraySubType = UnmanagedType.I1)]
public byte[] byRes;//ä¿çåè
}
//è§é¢åæ°é
ç½®
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_VIDEOEFFECT
{
public byte byBrightnessLevel; /*0-100*/
public byte byContrastLevel; /*0-100*/
public byte bySharpnessLevel; /*0-100*/
public byte bySaturationLevel; /*0-100*/
public byte byHueLevel; /*0-100,ï¼ä¿çï¼*/
public byte byEnableFunc; //使è½ï¼æä½è¡¨ç¤ºï¼bit0-SMART IR(é²è¿æ)ï¼bit1-ä½ç
§åº¦,bit2-强å
æå¶ä½¿è½ï¼0-å¦ï¼1-æ¯
public byte byLightInhibitLevel; //强å
æå¶ç级ï¼[1-3]表示ç级
public byte byGrayLevel; //ç°åº¦å¼åï¼0-[0-255]ï¼1-[16-235]
}
//å¢çé
ç½®
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_GAIN
{
public byte byGainLevel; /*å¢çï¼0-100*/
public byte byGainUserSet; /*ç¨æ·èªå®ä¹å¢çï¼0-100ï¼å¯¹äºæææºï¼æ¯CCD模å¼ä¸çææå¢ç*/
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 2, ArraySubType = UnmanagedType.I1)]
public byte[] byRes;
public uint dwMaxGainValue;/*æ大å¢çå¼ï¼åä½dB*/
}
//ç½å¹³è¡¡é
ç½®
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_WHITEBALANCE
{
public byte byWhiteBalanceMode; /*0-æå¨ç½å¹³è¡¡ï¼MWBï¼,1-èªå¨ç½å¹³è¡¡1ï¼AWB1ï¼,2-èªå¨ç½å¹³è¡¡2 (AWB2),3-èªå¨æ§å¶æ¹å为éå®ç½å¹³è¡¡(Locked WB)ï¼
4-室å¤(Indoor)ï¼5-室å
(Outdoor)6-æ¥å
ç¯(Fluorescent Lamp)ï¼7-é ç¯(Sodium Lamp)ï¼
8-èªå¨è·è¸ª(Auto-Track)9-ä¸æ¬¡ç½å¹³è¡¡(One Push)ï¼10-室å¤èªå¨(Auto-Outdoor)ï¼
11-é ç¯èªå¨ (Auto-Sodiumlight)ï¼12-æ°´é¶ç¯(Mercury Lamp)ï¼13-èªå¨ç½å¹³è¡¡(Auto)ï¼
14-ç½ç½ç¯ (IncandescentLamp)ï¼15-æå
ç¯(Warm Light Lamp)ï¼16-èªç¶å
(Natural Light) */
public byte byWhiteBalanceModeRGain; /*æå¨ç½å¹³è¡¡æ¶ææï¼æå¨ç½å¹³è¡¡ Rå¢ç*/
public byte byWhiteBalanceModeBGain; /*æå¨ç½å¹³è¡¡æ¶ææï¼æå¨ç½å¹³è¡¡ Bå¢ç*/
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 5, ArraySubType = UnmanagedType.I1)]
public byte[] byRes;
}
//æå
æ§å¶
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_EXPOSURE
{
public byte byExposureMode; /*0 æå¨æå
1èªå¨æå
*/
public byte byAutoApertureLevel; /* èªå¨å
åçµæ度, 0-10 */
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 2, ArraySubType = UnmanagedType.I1)]
public byte[] byRes;
public uint dwVideoExposureSet; /* èªå®ä¹è§é¢æå
æ¶é´ï¼åä½usï¼*//*注:èªå¨æå
æ¶è¯¥å¼ä¸ºæå
ææ
¢å¼ æ°å¢20-1s(1000000us)*/
public uint dwExposureUserSet; /* èªå®ä¹æå
æ¶é´,å¨æææºä¸åºç¨æ¶ï¼CCD模å¼æ¶æ¯ææå¿«é¨é度*/
public uint dwRes;
}
//宽å¨æé
ç½®
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_WDR
{
public byte byWDREnabled; /*宽å¨æï¼0 dsibale 1 enable 2 auto*/
public byte byWDRLevel1; /*0-F*/
public byte byWDRLevel2; /*0-F*/
public byte byWDRContrastLevel; /*0-100*/
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 16, ArraySubType = UnmanagedType.I1)]
public byte[] byRes;
}
//æ¥å¤è½¬æ¢åè½é
ç½®
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_DAYNIGHT
{
public byte byDayNightFilterType; /*æ¥å¤åæ¢ï¼0-ç½å¤©ï¼1-å¤æï¼2-èªå¨ï¼3-å®æ¶ï¼4-æ¥è¦è¾å
¥è§¦å*/
public byte bySwitchScheduleEnabled; /*0 dsibale 1 enable,(ä¿ç)*/
//å®æ¶æ¨¡å¼åæ°
public byte byBeginTime; /*å¼å§æ¶é´ï¼å°æ¶ï¼ï¼0-23*/
public byte byEndTime; /*ç»ææ¶é´ï¼å°æ¶ï¼ï¼0-23*/
//模å¼2
public byte byDayToNightFilterLevel; //0-7
public byte byNightToDayFilterLevel; //0-7
public byte byDayNightFilterTime;//(60ç§)
//å®æ¶æ¨¡å¼åæ°
public byte byBeginTimeMin; //å¼å§æ¶é´ï¼åï¼ï¼0-59
public byte byBeginTimeSec; //å¼å§æ¶é´ï¼ç§ï¼ï¼0-59
public byte byEndTimeMin; //ç»ææ¶é´ï¼åï¼ï¼0-59
public byte byEndTimeSec; //ç»ææ¶é´ï¼ç§ï¼ï¼0-59
//æ¥è¦è¾å
¥è§¦å模å¼åæ°
public byte byAlarmTrigState; //æ¥è¦è¾å
¥è§¦åç¶æï¼0-ç½å¤©ï¼1-å¤æ
}
//Gammaæ ¡æ£
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_GAMMACORRECT
{
public byte byGammaCorrectionEnabled; /*0 dsibale 1 enable*/
public byte byGammaCorrectionLevel; /*0-100*/
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 6, ArraySubType = UnmanagedType.I1)]
public byte[] byRes;
}
//èå
è¡¥å¿é
ç½®
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_BACKLIGHT
{
public byte byBacklightMode; /*èå
è¡¥å¿:0 off 1 UPã2 DOWNã3 LEFTã4 RIGHTã5MIDDLEã6èªå®ä¹*/
public byte byBacklightLevel; /*0x0-0xF*/
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 2, ArraySubType = UnmanagedType.I1)]
public byte[] byRes1;
public uint dwPositionX1; //ï¼Xåæ 1ï¼
public uint dwPositionY1; //ï¼Yåæ 1ï¼
public uint dwPositionX2; //ï¼Xåæ 2ï¼
public uint dwPositionY2; //ï¼Yåæ 2ï¼
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 4, ArraySubType = UnmanagedType.I1)]
public byte[] byRes2;
}
//æ°åéåªåè½
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_NOISEREMOVE
{
public byte byDigitalNoiseRemoveEnable; /*0-ä¸å¯ç¨ï¼1-æ®é模å¼æ°åéåªï¼2-ä¸å®¶æ¨¡å¼æ°åéåª*/
public byte byDigitalNoiseRemoveLevel; /*æ®é模å¼æ°åéåªçº§å«ï¼0x0-0xF*/
public byte bySpectralLevel; /*ä¸å®¶æ¨¡å¼ä¸ç©ºå强度ï¼0-100*/
public byte byTemporalLevel; /*ä¸å®¶æ¨¡å¼ä¸æ¶å强度ï¼0-100*/
public byte byDigitalNoiseRemove2DEnable; /* ææ帧2Déåªï¼0-ä¸å¯ç¨ï¼1-å¯ç¨ */
public byte byDigitalNoiseRemove2DLevel; /* ææ帧2Déåªçº§å«ï¼0-100 */
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 2, ArraySubType = UnmanagedType.I1)]
public byte[] byRes;
}
//CMOS模å¼ä¸å端é头é
ç½®
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_CMOSMODECFG
{
public byte byCaptureMod; //ææ模å¼ï¼0-ææ模å¼1ï¼1-ææ模å¼2
public byte byBrightnessGate;//亮度éå¼
public byte byCaptureGain1; //ææå¢ç1,0-100
public byte byCaptureGain2; //ææå¢ç2,0-100
public uint dwCaptureShutterSpeed1;//ææå¿«é¨é度1
public uint dwCaptureShutterSpeed2;//ææå¿«é¨é度2
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 4, ArraySubType = UnmanagedType.I1)]
public byte[] byRes;
}
//å端åæ°é
ç½®
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_CAMERAPARAMCFG
{
public uint dwSize;
public NET_DVR_VIDEOEFFECT struVideoEffect;/*亮度ã对æ¯åº¦ã饱å度ãé度ãè²è°é
ç½®*/
public NET_DVR_GAIN struGain;/*èªå¨å¢ç*/
public NET_DVR_WHITEBALANCE struWhiteBalance;/*ç½å¹³è¡¡*/
public NET_DVR_EXPOSURE struExposure; /*æå
æ§å¶*/
public NET_DVR_GAMMACORRECT struGammaCorrect;/*Gammaæ ¡æ£*/
public NET_DVR_WDR struWdr;/*宽å¨æ*/
public NET_DVR_DAYNIGHT struDayNight;/*æ¥å¤è½¬æ¢*/
public NET_DVR_BACKLIGHT struBackLight;/*èå
è¡¥å¿*/
public NET_DVR_NOISEREMOVE struNoiseRemove;/*æ°åéåª*/
public byte byPowerLineFrequencyMode; /*0-50HZ; 1-60HZ*/
public byte byIrisMode; /*0 èªå¨å
å 1æå¨å
å*/
public byte byMirror ; /* éåï¼0 offï¼1- leftrightï¼2- updownï¼3-center */
public byte byDigitalZoom; /*æ°å缩æ¾:0 dsibale 1 enable*/
public byte byDeadPixelDetect; /*åç¹æ£æµ,0 dsibale 1 enable*/
public byte byBlackPwl;/*é»çµå¹³è¡¥å¿ , 0-255*/
public byte byEptzGate;// EPTZå¼å
³åé:0-ä¸å¯ç¨çµåäºå°ï¼1-å¯ç¨çµåäºå°
public byte byLocalOutputGate;//æ¬å°è¾åºå¼å
³åé0-æ¬å°è¾åºå
³é1-æ¬å°BNCè¾åºæå¼ 2-HDMIè¾åºå
³é
//20-HDMI_720P50è¾åºå¼
//21-HDMI_720P60è¾åºå¼
//22-HDMI_1080I60è¾åºå¼
//23-HDMI_1080I50è¾åºå¼
//24-HDMI_1080P24è¾åºå¼
//25-HDMI_1080P25è¾åºå¼
//26-HDMI_1080P30è¾åºå¼
//27-HDMI_1080P50è¾åºå¼
//28-HDMI_1080P60è¾åºå¼
//40-SDI_720P50,
//41-SDI_720P60,
//42-SDI_1080I50,
//43-SDI_1080I60,
//44-SDI_1080P24,
//45-SDI_1080P25,
//46-SDI_1080P30,
//47-SDI_1080P50,
//48-SDI_1080P60
public byte byCoderOutputMode;//ç¼ç å¨fpgaè¾åºæ¨¡å¼0ç´é3åç´ æ¬å®¶
public byte byLineCoding; //æ¯å¦å¼å¯è¡ç¼ç ï¼0-å¦ï¼1-æ¯
public byte byDimmerMode; //è°å
模å¼ï¼0-åèªå¨ï¼1-èªå¨
public byte byPaletteMode; //è°è²æ¿ï¼0-ç½çï¼1-é»çï¼2-è°è²æ¿2ï¼â¦ï¼8-è°è²æ¿8
public byte byEnhancedMode; //å¢å¼ºæ¹å¼ï¼æ¢æµç©ä½å¨è¾¹ï¼ï¼0-ä¸å¢å¼ºï¼1-1ï¼2-2ï¼3-3ï¼4-4
public byte byDynamicContrastEN; //å¨æ对æ¯åº¦å¢å¼º 0-1
public byte byDynamicContrast; //å¨æ对æ¯åº¦ 0-100
public byte byJPEGQuality; //JPEGå¾åè´¨é 0-100
public NET_DVR_CMOSMODECFG struCmosModeCfg;//CMOS模å¼ä¸å端åæ°é
ç½®ï¼é头模å¼ä»è½åéè·å
public byte byFilterSwitch; //滤波å¼å
³ï¼0-ä¸å¯ç¨ï¼1-å¯ç¨
public byte byFocusSpeed; //é头è°ç¦é度ï¼0-10
public byte byAutoCompensationInterval; //å®æ¶èªå¨å¿«é¨è¡¥å¿ï¼1-120ï¼åä½ï¼åé
public byte bySceneMode; //åºæ¯æ¨¡å¼ï¼0-室å¤ï¼1-室å
ï¼2-é»è®¤ï¼3-å¼±å
}
//éé¾
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_DEFOGCFG
{
public byte byMode; //模å¼ï¼0-ä¸å¯ç¨ï¼1-èªå¨æ¨¡å¼ï¼2-常å¼æ¨¡å¼
public byte byLevel; //ç级ï¼0-100
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 6, ArraySubType = UnmanagedType.I1)]
public byte[] byRes;
}
//çµåé²æ
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_ELECTRONICSTABILIZATION
{
public byte byEnable;//ä½¿è½ 0- ä¸å¯ç¨ï¼1- å¯ç¨
public byte byLevel; //ç级ï¼0-100
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 6, ArraySubType = UnmanagedType.I1)]
public byte[] byRes;
}
//èµ°å»æ¨¡å¼
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_CORRIDOR_MODE_CCD
{
public byte byEnableCorridorMode; //æ¯å¦å¯ç¨èµ°å»æ¨¡å¼ 0ï½ä¸å¯ç¨ï¼ 1ï½å¯ç¨
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 11, ArraySubType = UnmanagedType.I1)]
public byte[] byRes;
}
//SMART IR(é²è¿æ)é
ç½®åæ°
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_SMARTIR_PARAM
{
public byte byMode;//0ï½æå¨ï¼1ï½èªå¨
public byte byIRDistance;//红å¤è·ç¦»ç级(ç级ï¼è·ç¦»æ£æ¯ä¾)level:1~100 é»è®¤:50ï¼æå¨æ¨¡å¼ä¸å¢å ï¼
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 2, ArraySubType = UnmanagedType.I1)]
public byte[] byRes;
}
//å¨byIrisMode 为P-Iris1æ¶çæï¼é
置红å¤å
å大å°ç级ï¼é
置模å¼
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_PIRIS_PARAM
{
public byte byMode;//0-èªå¨ï¼1-æå¨
public byte byPIrisAperture;//红å¤å
å大å°ç级(ç级,å
å大å°æ£æ¯ä¾)level:1~100 é»è®¤:50ï¼æå¨æ¨¡å¼ä¸å¢å ï¼
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 6, ArraySubType = UnmanagedType.I1)]
public byte[] byRes;
}
//å端åæ°é
ç½®
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_CAMERAPARAMCFG_EX
{
public uint dwSize;
public NET_DVR_VIDEOEFFECT struVideoEffect;/*亮度ã对æ¯åº¦ã饱å度ãé度ãè²è°é
ç½®*/
public NET_DVR_GAIN struGain;/*èªå¨å¢ç*/
public NET_DVR_WHITEBALANCE struWhiteBalance;/*ç½å¹³è¡¡*/
public NET_DVR_EXPOSURE struExposure; /*æå
æ§å¶*/
public NET_DVR_GAMMACORRECT struGammaCorrect;/*Gammaæ ¡æ£*/
public NET_DVR_WDR struWdr;/*宽å¨æ*/
public NET_DVR_DAYNIGHT struDayNight;/*æ¥å¤è½¬æ¢*/
public NET_DVR_BACKLIGHT struBackLight;/*èå
è¡¥å¿*/
public NET_DVR_NOISEREMOVE struNoiseRemove;/*æ°åéåª*/
public byte byPowerLineFrequencyMode; /*0-50HZ; 1-60HZ*/
public byte byIrisMode; /*0-èªå¨å
å 1-æå¨å
å, 2-P-Iris1*/
public byte byMirror ; /* éåï¼0 offï¼1- leftrightï¼2- updownï¼3-center */
public byte byDigitalZoom; /*æ°å缩æ¾:0 dsibale 1 enable*/
public byte byDeadPixelDetect; /*åç¹æ£æµ,0 dsibale 1 enable*/
public byte byBlackPwl;/*é»çµå¹³è¡¥å¿ , 0-255*/
public byte byEptzGate;// EPTZå¼å
³åé:0-ä¸å¯ç¨çµåäºå°ï¼1-å¯ç¨çµåäºå°
public byte byLocalOutputGate;//æ¬å°è¾åºå¼å
³åé0-æ¬å°è¾åºå
³é1-æ¬å°BNCè¾åºæå¼ 2-HDMIè¾åºå
³é
//20-HDMI_720P50è¾åºå¼
//21-HDMI_720P60è¾åºå¼
//22-HDMI_1080I60è¾åºå¼
//23-HDMI_1080I50è¾åºå¼
//24-HDMI_1080P24è¾åºå¼
//25-HDMI_1080P25è¾åºå¼
//26-HDMI_1080P30è¾åºå¼
//27-HDMI_1080P50è¾åºå¼
//28-HDMI_1080P60è¾åºå¼
public byte byCoderOutputMode;//ç¼ç å¨fpgaè¾åºæ¨¡å¼0ç´é3åç´ æ¬å®¶
public byte byLineCoding; //æ¯å¦å¼å¯è¡ç¼ç ï¼0-å¦ï¼1-æ¯
public byte byDimmerMode; //è°å
模å¼ï¼0-åèªå¨ï¼1-èªå¨
public byte byPaletteMode; //è°è²æ¿ï¼0-ç½çï¼1-é»çï¼2-è°è²æ¿2ï¼â¦ï¼8-è°è²æ¿8
public byte byEnhancedMode; //å¢å¼ºæ¹å¼ï¼æ¢æµç©ä½å¨è¾¹ï¼ï¼0-ä¸å¢å¼ºï¼1-1ï¼2-2ï¼3-3ï¼4-4
public byte byDynamicContrastEN; //å¨æ对æ¯åº¦å¢å¼º 0-1
public byte byDynamicContrast; //å¨æ对æ¯åº¦ 0-100
public byte byJPEGQuality; //JPEGå¾åè´¨é 0-100
public NET_DVR_CMOSMODECFG struCmosModeCfg;//CMOS模å¼ä¸å端åæ°é
ç½®ï¼é头模å¼ä»è½åéè·å
public byte byFilterSwitch; //滤波å¼å
³ï¼0-ä¸å¯ç¨ï¼1-å¯ç¨
public byte byFocusSpeed; //é头è°ç¦é度ï¼0-10
public byte byAutoCompensationInterval; //å®æ¶èªå¨å¿«é¨è¡¥å¿ï¼1-120ï¼åä½ï¼åé
public byte bySceneMode; //åºæ¯æ¨¡å¼ï¼0-室å¤ï¼1-室å
ï¼2-é»è®¤ï¼3-å¼±å
public NET_DVR_DEFOGCFG struDefogCfg;//éé¾åæ°
public NET_DVR_ELECTRONICSTABILIZATION struElectronicStabilization;//çµåé²æ
public NET_DVR_CORRIDOR_MODE_CCD struCorridorMode;//èµ°å»æ¨¡å¼
public byte byExposureSegmentEnable; //0~ä¸å¯ç¨,1~å¯ç¨ æå
æ¶é´åå¢çåé¶æ¢¯ç¶è°æ´ï¼æ¯å¦æå
å¾ä¸è°æ´æ¶ï¼å
æé«æå
æ¶é´å°ä¸é´å¼ï¼ç¶åæé«å¢çå°ä¸é´å¼ï¼åæé«æå
å°æ大å¼ï¼æåæé«å¢çå°æ大å¼
public byte byBrightCompensate;//亮度å¢å¼º [0~100]
/*0-å
³éã1-640*[email protected]ã2-640*[email protected]ã3-704*[email protected]ã4-704*[email protected]ã5-1280*[email protected]ã6-1280*[email protected]ã
* 7-1280*[email protected]ã8-1280*[email protected]ã9-1280*[email protected]ã10-1280*[email protected]ã11-1280*[email protected]ã
* 12-1280*[email protected]ã13--1280*[email protected]ã14-1600*[email protected]ã15-1600*[email protected]ã16-1920*[email protected]ã
* 17-1920*[email protected]ã18-1920*[email protected]ã19-1920*[email protected]ã20-1920*[email protected]ã21-2048*[email protected]ã22-2048*[email protected]ã
* 23-2048*[email protected]ã24-2048*[email protected]ã25-2048*[email protected]ã26-2560*[email protected]ã27-2560*[email protected]ã
* 28-2560*[email protected]ã29-3072*[email protected]ã30-3072*[email protected]ã31-2048*[email protected]ã32-2560*[email protected]ã
* 33-1600*[email protected]ã34-1600*[email protected]ã35-1600*[email protected]ã36-1600*[email protected]ã[email protected]@15ã38-800*[email protected]ã39-800*[email protected]*/
public byte byCaptureModeN; //è§é¢è¾å
¥æ¨¡å¼ï¼Nå¶ï¼
public byte byCaptureModeP; //è§é¢è¾å
¥æ¨¡å¼ï¼På¶ï¼
public NET_DVR_SMARTIR_PARAM struSmartIRParam; //红å¤æ¾è¿çé
置信æ¯
public NET_DVR_PIRIS_PARAM struPIrisParam;//PIrisé
置信æ¯å¯¹åºbyIrisModeå段ä»2-PIris1å¼å§çæ
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 296, ArraySubType = UnmanagedType.I1)]
public byte[] byRes1;
}
//车çé¢è²
public enum VCA_PLATE_COLOR
{
VCA_BLUE_PLATE = 0,//èè²è½¦ç
VCA_YELLOW_PLATE,//é»è²è½¦ç
VCA_WHITE_PLATE,//ç½è²è½¦ç
VCA_BLACK_PLATE,//é»è²è½¦ç
VCA_GREEN_PLATE //绿è²è½¦ç
}
//车çç±»å
public enum VCA_PLATE_TYPE
{
VCA_STANDARD92_PLATE = 0,//æ åæ°ç¨è½¦ä¸å车
VCA_STANDARD02_PLATE,//02å¼æ°ç¨è½¦ç
VCA_WJPOLICE_PLATE,//æ¦è¦è½¦
VCA_JINGCHE_PLATE,//è¦è½¦
STANDARD92_BACK_PLATE,//æ°ç¨è½¦åè¡å°¾ç
VCA_SHIGUAN_PLATE, //使é¦è½¦ç
VCA_NONGYONG_PLATE, //åç¨è½¦
VCA_MOTO_PLATE //æ©æ车
}
public enum VLR_VEHICLE_CLASS
{
VLR_OTHER = 0, //å
¶å®
VLR_VOLKSWAGEN = 1, //大ä¼
VLR_BUICK = 2, //å«å
VLR_BMW = 3, //å®é©¬
VLR_HONDA = 4, //æ¬ç°
VLR_PEUGEOT = 5, //æ è´
VLR_TOYOTA = 6, //丰ç°
VLR_FORD = 7, //ç¦ç¹
VLR_NISSAN = 8, //æ¥äº§
VLR_AUDI = 9, //奥迪
VLR_MAZDA = 10, //马èªè¾¾
VLR_CHEVROLET = 11, //éªä½å
°
VLR_CITROEN = 12, //éªéé¾
VLR_HYUNDAI = 13, //ç°ä»£
VLR_CHERY = 14 //å¥ç
}
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_VEHICLE_INFO
{
public uint dwIndex;
public byte byVehicleType;
public byte byColorDepth;
public byte byColor;
public byte byRes1;
public ushort wSpeed;
public ushort wLength;
public byte byIllegalType;
public byte byVehicleLogoRecog; //åèæ举类å VLR_VEHICLE_CLASS
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 2, ArraySubType = UnmanagedType.I1)]
public byte[] byRes2; //ä¿ç
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 16, ArraySubType = UnmanagedType.I1)]
public byte[] byCustomInfo; //èªå®ä¹ä¿¡æ¯
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 16, ArraySubType = UnmanagedType.I1)]
public byte[] byRes;
public void Init()
{
byRes2 = new byte[2];
byCustomInfo = new byte[16];
byRes = new byte[16];
}
}
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_PLATE_RESULT
{
public uint dwSize;
public byte byResultType;
public byte byChanIndex;
public ushort wAlarmRecordID; //æ¥è¦å½åID(ç¨äºæ¥è¯¢å½åï¼ä»
å½byResultType为2æ¶ææ)
public uint dwRelativeTime;
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 32, ArraySubType = UnmanagedType.I1)]
public byte[] byAbsTime;
public uint dwPicLen;
public uint dwPicPlateLen;
public uint dwVideoLen;
public byte byTrafficLight;
public byte byPicNum;
public byte byDriveChan;
public byte byVehicleType; //0- æªç¥ï¼1- 客车ï¼2- 货车ï¼3- 轿车ï¼4- é¢å
车ï¼5- å°è´§è½¦
public uint dwBinPicLen;
public uint dwCarPicLen;
public uint dwFarCarPicLen;
public IntPtr pBuffer3;
public IntPtr pBuffer4;
public IntPtr pBuffer5;
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 8, ArraySubType = UnmanagedType.I1)]
public byte[] byRes3;
public NET_DVR_PLATE_INFO struPlateInfo;
public NET_DVR_VEHICLE_INFO struVehicleInfo;
public IntPtr pBuffer1;
public IntPtr pBuffer2;
public void Init()
{
byAbsTime = new byte[32];
byRes3 = new byte[8];
}
}
//å¾åå å ä¿¡æ¯é
ç½®
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_IMAGEOVERLAYCFG
{
public uint dwSize;
public byte byOverlayInfo;//å å 使è½å¼å
³ï¼0-ä¸å å ï¼1-å å
public byte byOverlayMonitorInfo;//æ¯å¦å å çæµç¹ä¿¡æ¯ï¼0-ä¸å å ï¼1-å å
public byte byOverlayTime;//æ¯å¦å å æ¶é´ï¼0-ä¸å å ï¼1-å å
public byte byOverlaySpeed;//æ¯å¦å å é度ï¼0-ä¸å å ï¼1-å å
public byte byOverlaySpeeding;//æ¯å¦å å è¶
éæ¯ä¾ï¼0-ä¸å å ï¼1-å å
public byte byOverlayLimitFlag;//æ¯å¦å å ééæ å¿ï¼0-ä¸å å ï¼1-å å
public byte byOverlayPlate;//æ¯å¦å å 车çå·ï¼0-ä¸å å ï¼1-å å
public byte byOverlayColor;//æ¯å¦å å 车身é¢è²ï¼0-ä¸å å ï¼1-å å
public byte byOverlayLength;//æ¯å¦å å 车é¿ï¼0-ä¸å å ï¼1-å å
public byte byOverlayType;//æ¯å¦å å 车åï¼0-ä¸å å ï¼1-å å
public byte byOverlayColorDepth;//æ¯å¦å å 车身é¢è²æ·±æµ
ï¼0-ä¸å å ï¼1-å å
public byte byOverlayDriveChan;//æ¯å¦å å 车éï¼0-ä¸å å ï¼1-å å
public byte byOverlayMilliSec; //å å 毫ç§ä¿¡æ¯ 0-ä¸å å ï¼1-å å
public byte byOverlayIllegalInfo; //å å è¿ç« ä¿¡æ¯ 0-ä¸å å ï¼1-å å
public byte byOverlayRedOnTime; //å å 红ç¯å·²äº®æ¶é´ 0-ä¸å å ï¼1-å å
public byte byFarAddPlateJpeg; //è¿æ¯å¾æ¯å¦å å 车çæªå¾,0-ä¸å å ,1-å å
public byte byNearAddPlateJpeg; //è¿æ¯å¾æ¯å¦å å 车çæªå¾,0-ä¸å å ,1-å å
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 3, ArraySubType = UnmanagedType.I1)]
public byte[] byRes1; //ä¿ç
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 32, ArraySubType = UnmanagedType.I1)]
public byte[] byMonitorInfo1; //çæµç¹ä¿¡æ¯1
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 44, ArraySubType = UnmanagedType.I1)]
public byte[] byMonitorInfo2; //æ£æµç¹ä¿¡æ¯2
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 52, ArraySubType = UnmanagedType.I1)]
public byte[] byRes2; //ä¿ç
}
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_SNAPCFG
{
public uint dwSize;
public byte byRelatedDriveWay;
public byte bySnapTimes;
public ushort wSnapWaitTime;
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_INTERVAL_NUM, ArraySubType = UnmanagedType.U2)]
public ushort[] wIntervalTime;
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 24, ArraySubType = UnmanagedType.I1)]
public byte[] byRes2;
}
public enum ITC_MAINMODE_ABILITY
{
ITC_MODE_UNKNOW = 0x0, //æ
ITC_POST_MODE = 0x1, //å¡å£æ¨¡å¼
ITC_EPOLICE_MODE = 0x2, //çµè¦æ¨¡å¼
ITC_POSTEPOLICE_MODE = 0x4 //å¡å¼çµè¦æ¨¡å¼
}
public enum ITC_RECOG_REGION_TYPE
{
ITC_REGION_RECT = 0x0, //ç©å½¢
ITC_REGION_POLYGON = 0x1, //å¤è¾¹å½¢
}
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_SNAP_ABILITY
{
public uint dwSize;
public byte byIoInNum;//IOè¾å
¥å£æ°
public byte byIoOutNum;//IOè¾åºå£æ°
public byte bySingleSnapNum;//åIO触åç»æ°
public byte byLightModeArrayNum;//红绿ç¯æ¨¡å¼ç»æ°
public byte byMeasureModeArrayNum;//æµé模å¼ç»æ°
public byte byPlateEnable; //车çè¯å«è½å
public byte byLensMode;//é头模å¼0-CCD,1-CMOS
public byte byPreTriggerSupport; //æ¯å¦æ¯æå触å模å¼ï¼0-æ¯æï¼1-ä¸æ¯æ
public uint dwAbilityType; //æ¯æç触å模å¼è½åï¼æä½è¡¨ç¤ºï¼å®ä¹è§ITC_MAINMODE_ABILITY
public byte byIoSpeedGroup; //æ¯æçIOæµéç»æ°
public byte byIoLightGroup; //æ¯æçIO红绿ç¯ç»æ°
public byte byRecogRegionType; //çè¯åºåæ¯æçç±»åï¼è¯¦è§å®ä¹ITC_RECOG_REGION_TYPE
public byte bySupport; //设å¤è½åï¼æä½è¡¨ç¤ºï¼0-ä¸æ¯æï¼1-æ¯æ
// bySupport&0x1ï¼è¡¨ç¤ºæ¯å¦æ¯ææ©å±çå符å å é
ç½®
// bySupport&0x2ï¼è¡¨ç¤ºæ¯å¦æ¯ææ©å±çæ ¡æ¶é
ç½®ç»æ
// bySupport&0x4, 表示æ¯å¦æ¯æå¤ç½å¡(å¤ç½é离)
// bySupport&0x8, 表示æ¯å¦æ¯æç½å¡çbondingåè½(ç½ç»å®¹é)
// bySupport&0x10, 表示æ¯å¦æ¯æè¯é³å¯¹è®²
//2013-07-09 è½åéè¿å
public ushort wSupportMultiRadar;// 设å¤è½åï¼æä½è¡¨ç¤ºï¼0-ä¸æ¯æï¼1-æ¯æ
// wSupportMultiRadar&0x1ï¼è¡¨ç¤º å¡å£RS485é·è¾¾ æ¯æ车éå
³èé·è¾¾å¤ç
// wSupportMultiRadar&0x2ï¼è¡¨ç¤º å¡å£èæ线å æ¯æ车éå
³èé·è¾¾å¤ç
// wSupportMultiRadar&0x4ï¼è¡¨ç¤º æ··è¡å¡å£ æ¯æ车éå
³èé·è¾¾å¤ç
// wSupportMultiRadar&0x8ï¼è¡¨ç¤º è§é¢æ£æµ æ¯æ车éå
³èé·è¾¾å¤ç
public byte byICRPresetNum;
// 表示æ¯æçICRé¢ç½®ç¹ï¼æ»¤å
çå移ç¹ï¼æ°
public byte byICRTimeSlot;//表示æ¯æçICRçæ¶é´æ®µæ°ï¼1ï½8ï¼
public byte bySupportRS485Num;//表示æ¯æçRS485å£çæ°é
public byte byExpandRs485SupportSensor;// 设å¤è½åï¼æä½è¡¨ç¤ºï¼0-ä¸æ¯æï¼1-æ¯æ
// byExpandRs485SupportSensor &0x1ï¼è¡¨ç¤ºçµè¦è½¦æ£å¨æ¯æ车æ£å¨
// byExpandRs485SupportSensor &0x2ï¼è¡¨ç¤ºå¡å¼çµè¦è½¦æ£å¨æ¯æ车æ£å¨
public byte byExpandRs485SupportSignalLampDet;// 设å¤è½åï¼æä½è¡¨ç¤ºï¼0-ä¸æ¯æï¼1-æ¯æ
// byExpandRs485SupportSignalLampDet &0x1ï¼è¡¨ç¤ºçµè¦è½¦æ£å¨æ¯æå¤æ¥ä¿¡å·ç¯æ£æµå¨
// byExpandRs485SupportSignalLampDet &0x2ï¼è¡¨ç¤ºå¡å¼çµè¦è½¦æ£å¨æ¯æå¤æ¥ä¿¡å·ç¯æ£æµå¨
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 13, ArraySubType = UnmanagedType.I1)]
public byte[] byRes;
}
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_ITC_ICRTIMECFG
{
public NET_DVR_SCHEDTIME struTime;
public byte byAssociateRresetNo;//é¢ç½®ç¹å·1ï½8 , 0代表æ
public byte bySubSwitchMode;//1~ç½å¤©ï¼2~æä¸ (å½é¢ç½®ç¹çäº0 çæ¶åçæ)
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 10, ArraySubType = UnmanagedType.I1)]
public byte[] byRes;
}
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_ITC_ICR_TIMESWITCH_PARAM
{
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_TIMESEGMENT_V30, ArraySubType = UnmanagedType.Struct)]
public NET_ITC_ICRTIMECFG[] struAutoCtrlTime;//èªå¨åæ¢æ¶é´æ®µ (èªå¨åæ¢ä¸ æ¶ç©ºä¸çæ ç°å¨æ¯æ4ç»ï¼é¢ç4ç»)
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_ICR_NUM, ArraySubType = UnmanagedType.I1)]
public byte[] byICRPreset; //å®é
çææ ¹æ®è½åéå¨ææ¾ç¤º [0~100] æ°ç»ä¸æ 表示é¢ç½®ç¹å·1ï½8 ï¼0ï½7 ç¸å¯¹åºï¼
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 20, ArraySubType = UnmanagedType.I1)]
public byte[] byRes;
}
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_ITC_ICR_MANUALSWITCH_PARAM
{
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_ICR_NUM, ArraySubType = UnmanagedType.I1)]
public byte[] byICRPreset; //å®é
çææ ¹æ®è½åéå¨ææ¾ç¤º [0~100]
public byte bySubSwitchMode;//1~ç½å¤©ï¼2~æä¸
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 147, ArraySubType = UnmanagedType.I1)]
public byte[] byRes;
}
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_ITC_ICR_AOTOSWITCH_PARAM
{
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_ICR_NUM, ArraySubType = UnmanagedType.I1)]
public byte[] byICRPreset; //å®é
çææ ¹æ®è½åéå¨ææ¾ç¤º [0~100] æ°ç»ä¸æ 表示é¢ç½®ç¹å·1ï½8 ï¼0ï½7 ç¸å¯¹åºï¼
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 148, ArraySubType = UnmanagedType.I1)]
public byte[] byRes;
}
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_ITC_ICR_PARAM_UNION
{
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 156, ArraySubType = UnmanagedType.I1)]
public byte[] uLen;
public NET_ITC_ICR_AOTOSWITCH_PARAM struICRAutoSwitch;
public NET_ITC_ICR_MANUALSWITCH_PARAM struICRManualSwitch;
public NET_ITC_ICR_TIMESWITCH_PARAM struICRTimeSwitch;
}
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_ITC_ICRCFG
{
public uint dwSize;
public byte bySwitchType;//1~èªå¨åæ¢ï¼2~æå¨åæ¢ ,3~å®æ¶åæ¢
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 3, ArraySubType = UnmanagedType.I1)]
public byte[] byRes;
public NET_ITC_ICR_PARAM_UNION uICRParam;
}
//2013-07-09 å¼å¸¸å¤ç
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_ITC_HANDLEEXCEPTION
{
public uint dwHandleType; //å¼å¸¸å¤ç,å¼å¸¸å¤çæ¹å¼ç"æ"ç»æ
/*0x00: æ ååº*/
/*0x01: çè§å¨ä¸è¦å*/
/*0x02: 声é³è¦å*/
/*0x04: ä¸ä¼ ä¸å¿*/
/*0x08: 触åæ¥è¦è¾åºï¼ç»§çµå¨è¾åºï¼*/
/*0x10: 触åJPRGæå¾å¹¶ä¸ä¼ Email*/
/*0x20: æ 线声å
æ¥è¦å¨èå¨*/
/*0x40: èå¨çµåå°å¾(ç®ååªæPCNVRæ¯æ)*/
/*0x200: æå¾å¹¶ä¸ä¼ FTP*/
public byte byEnable; //0ï½ä¸å¯ç¨ï¼1ï½å¯ç¨
public byte byRes;
public ushort wDuration;//æç»æ¶é´(åä½/s)
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_ITC_EXCEPTIONOUT, ArraySubType = UnmanagedType.I1)]
public byte[] byAlarmOutTriggered;//触åè¾åºéé
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 8, ArraySubType = UnmanagedType.I1)]
public byte[] byRes1;
}
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_ITC_EXCEPTION
{
public uint dwSize;
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_EXCEPTIONNUM_V30, ArraySubType = UnmanagedType.Struct)]
public NET_ITC_HANDLEEXCEPTION[] struSnapExceptionType;
//æ°ç»çæ¯ä¸ªå
ç´ é½è¡¨ç¤ºä¸ç§å¼å¸¸ï¼æ°ç»0- 硬çåºé,1-ç½çº¿æ,2-IP å°åå²çª, 3-车æ£å¨å¼å¸¸, 4-ä¿¡å·ç¯æ£æµå¨å¼å¸¸
}
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_TRIGCOORDINATE
{
public ushort wTopLeftX; /*线åå·¦ä¸è§æ¨ªåæ ï¼2个åèï¼*/
public ushort wTopLeftY; /*线åå·¦ä¸è§çºµåæ ï¼2个åèï¼*/
public ushort wWdith; /*线å宽度ï¼2个åèï¼*/
public ushort wHeight; /*线åé«åº¦ï¼2个åèï¼*/
}
public enum PROVINCE_CITY_IDX
{
ANHUI_PROVINCE = 0, //å®å¾½
AOMEN_PROVINCE = 1, //æ¾³é¨
BEIJING_PROVINCE = 2, //å京
CHONGQING_PROVINCE = 3, //éåº
FUJIAN_PROVINCE = 4, //ç¦å»º
GANSU_PROVINCE = 5, //çè
GUANGDONG_PROVINCE = 6, //广ä¸
GUANGXI_PROVINCE = 7, //广西
GUIZHOU_PROVINCE = 8, //è´µå·
HAINAN_PROVINCE = 9, //æµ·å
HEBEI_PROVINCE = 10, //æ²³å
HENAN_PROVINCE = 11, //æ²³å
HEILONGJIANG_PROVINCE = 12, //é»é¾æ±
HUBEI_PROVINCE = 13, //æ¹å
HUNAN_PROVINCE = 14, //æ¹å
JILIN_PROVINCE = 15, //åæ
JIANGSU_PROVINCE = 16, //æ±è
JIANGXI_PROVINCE = 17, //æ±è¥¿
LIAONING_PROVINCE = 18, //è¾½å®
NEIMENGGU_PROVINCE = 19, //å
èå¤
NINGXIA_PROVINCE = 20, //å®å¤
QINGHAI_PROVINCE = 21, //éæµ·
SHANDONG_PROVINCE = 22, //å±±ä¸
SHANXI_JIN_PROVINCE = 23, //山西
SHANXI_SHAN_PROVINCE = 24, //é西
SHANGHAI_PROVINCE = 25, //ä¸æµ·
SICHUAN_PROVINCE = 26, //åå·
TAIWAN_PROVINCE = 27, //å°æ¹¾
TIANJIN_PROVINCE = 28, //天津
XIZANG_PROVINCE = 29, //西è
XIANGGANG_PROVINCE = 30, //é¦æ¸¯
XINJIANG_PROVINCE = 31, //æ°ç
YUNNAN_PROVINCE = 32, //äºå
ZHEJIANG_PROVINCE = 33 //æµæ±
}
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_GEOGLOCATION
{
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 2, ArraySubType = UnmanagedType.U4)]
public int[] iRes; /*ä¿ç*/
public uint dwCity; /*åå¸ï¼è¯¦è§PROVINCE_CITY_IDX */
}
//åºæ¯æ¨¡å¼
public enum SCENE_MODE
{
UNKOWN_SCENE_MODE = 0, //æªç¥åºæ¯æ¨¡å¼
HIGHWAY_SCENE_MODE = 1, //é«éåºæ¯æ¨¡å¼
SUBURBAN_SCENE_MODE = 2, //éåºåºæ¯æ¨¡å¼(ä¿ç)
URBAN_SCENE_MODE = 3, //å¸åºåºæ¯æ¨¡å¼
TUNNEL_SCENE_MODE = 4 //é§éåºæ¯æ¨¡å¼(ä¿ç)
}
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_VTPARAM
{
public uint dwSize;
public byte byEnable; /* æ¯å¦ä½¿è½èæ线åï¼0-ä¸ä½¿ç¨ï¼1-使ç¨*/
public byte byIsDisplay; /* æ¯å¦æ¾ç¤ºèæ线åï¼0-ä¸æ¾ç¤ºï¼1-æ¾ç¤º*/
public byte byLoopPos; //æé´è§¦å线åçååï¼0-åä¸ï¼1-åä¸
public byte bySnapGain; /*ææå¢ç*/
public uint dwSnapShutter; /*ææå¿«é¨é度*/
public NET_DVR_TRIGCOORDINATE struTrigCoordinate; //ä¿ç
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_VL_NUM, ArraySubType = UnmanagedType.Struct)]
public NET_DVR_TRIGCOORDINATE[] struRes;
public byte byTotalLaneNum;/*è§é¢è§¦åç车éæ°1*/
public byte byPolarLenType; /*åæ¯éç±»åï¼0ï¼ä¸å åæ¯éï¼1ï¼å æ½èå¾·åæ¯éã*/
public byte byDayAuxLightMode; /*ç½å¤©è¾
å©ç
§æ模å¼ï¼0ï¼æ è¾
å©ç
§æï¼1ï¼LEDç¯ç
§æï¼2ï¼éªå
ç¯ç
§æ*/
public byte byLoopToCalRoadBright; /*ç¨ä»¥è®¡ç®è·¯é¢äº®åº¦ç车é(èæ线å)*/
public byte byRoadGrayLowTh; /*è·¯é¢äº®åº¦ä½éå¼åå§åå¼1*/
public byte byRoadGrayHighTh; /*è·¯é¢äº®åº¦é«éå¼åå§åå¼140*/
public ushort wLoopPosBias; /*æé´è§¦å线åä½ç§»30*/
public uint dwHfrShtterInitValue; /*è¿ç»å¾åæå
æ¶é´çåå§å¼2000*/
public uint dwSnapShtterInitValue; /*ææå¾åæå
æ¶é´çåå§å¼500*/
public uint dwHfrShtterMaxValue; /*è¿ç»å¾åæå
æ¶é´çæ大å¼20000*/
public uint dwSnapShtterMaxValue; /*ææå¾åæå
æ¶é´çæ大å¼1500*/
public uint dwHfrShtterNightValue; /*æé´è¿ç»å¾åæå
æ¶é´ç设置å¼3000*/
public uint dwSnapShtterNightMinValue; /*æé´ææå¾åæå
æ¶é´çæå°å¼3000*/
public uint dwSnapShtterNightMaxValue; /*æé´ææå¾åæå
æ¶é´çæ大å¼5000*/
public uint dwInitAfe; /*å¢ççåå§å¼200*/
public uint dwMaxAfe; /*å¢ççæ大å¼400*/
public ushort wResolutionX;/* 设å¤å½åå辨ç宽*/
public ushort wResolutionY;/* 设å¤å½åå辨çé«*/
public uint dwGainNightValue; /*æé´å¢çï¼é»è®¤å¼70*/
public uint dwSceneMode; /*åºæ¯æ¨¡å¼ï¼ 详è§SCENE_MODE */
public uint dwRecordMode; /*å½åæ å¿ï¼0-ä¸å½åï¼1-å½å*/
public NET_DVR_GEOGLOCATION struGeogLocation; /*å°åä½ç½®*/
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_VL_NUM, ArraySubType = UnmanagedType.I1)]
public byte[] byTrigFlag; /*触åæ å¿ï¼0-车头触åï¼1-车尾触åï¼2-车头/车尾é½è§¦å*/
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_VL_NUM, ArraySubType = UnmanagedType.I1)]
public byte[] byTrigSensitive; /*触åçµæ度ï¼1-100*/
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 62, ArraySubType = UnmanagedType.I1)]
public byte[] byRes2;
}
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_SNAPENABLECFG
{
public uint dwSize;
public byte byPlateEnable;//æ¯å¦æ¯æ车çè¯å«ï¼0-ä¸æ¯æï¼1-æ¯æ
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 2, ArraySubType = UnmanagedType.I1)]
public byte[] byRes1; //ä¿ç
public byte byFrameFlip; //å¾åæ¯å¦ç¿»è½¬ 0-ä¸ç¿»è½¬ï¼1-翻转
public ushort wFlipAngle; //å¾å翻转è§åº¦ 0,90,180,270
public ushort wLightPhase; //ç¸ä½ï¼åå¼èå´[0, 360]
public byte byLightSyncPower; //æ¯å¦ä¿¡å·ç¯çµæºåæ¥ï¼0-ä¸åæ¥ï¼1-åæ¥
public byte byFrequency; //ä¿¡å·é¢ç
public byte byUploadSDEnable; //æ¯å¦èªå¨ä¸ä¼ SDå¾çï¼0-å¦ï¼1-æ¯
public byte byPlateMode; //è¯å«æ¨¡å¼åæ°:0-è§é¢è§¦å,1-å¤é¨è§¦å
public byte byUploadInfoFTP; //æ¯å¦ä¸ä¼ ææéå ä¿¡æ¯å°FTPï¼0-å¦ï¼1-æ¯
public byte byAutoFormatSD; //æ¯å¦èªå¨æ ¼å¼åSDå¡ï¼0-å¦ï¼1-æ¯
public ushort wJpegPicSize; //Jpegå¾ç大å°[64-8196]
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 56, ArraySubType = UnmanagedType.I1)]
public byte[] byRes; //ä¿ç
}
/*ftpä¸ä¼ åæ°*/
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_FTPCFG
{
public uint dwSize;
public uint dwEnableFTP; /*æ¯å¦å¯å¨ftpä¸ä¼ åè½*/
[MarshalAsAttribute(UnmanagedType.ByValTStr, SizeConst = 16)]
public string sFTPIP; /*ftp æå¡å¨*/
public uint dwFTPPort; /*ftp端å£*/
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = NAME_LEN, ArraySubType = UnmanagedType.I1)]
public byte[] sUserName; /*ç¨æ·å*/
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = PASSWD_LEN, ArraySubType = UnmanagedType.I1)]
public byte[] sPassword; /*å¯ç */
public uint dwDirLevel; /*0 = ä¸ä½¿ç¨ç®å½ç»æï¼ç´æ¥ä¿åå¨æ ¹ç®å½,1 = 使ç¨1级ç®å½,2=使ç¨2级ç®å½*/
public ushort wTopDirMode; /* ä¸çº§ç®å½ï¼0x1 = 使ç¨è®¾å¤å,0x2 = 使ç¨è®¾å¤å·,0x3 = 使ç¨è®¾å¤ipå°åï¼0x4=使ç¨çæµç¹,0x5=使ç¨æ¶é´(å¹´æ),0x=6èªå®ä¹,0x7=è¿è§ç±»å,0x8=æ¹å,0x9=å°ç¹*/
public ushort wSubDirMode; /* äºçº§ç®å½ï¼0x1 = 使ç¨ééå,0x2 = 使ç¨ééå·ï¼,0x3=使ç¨æ¶é´(å¹´ææ¥),0x4=使ç¨è½¦éå·,0x=5èªå®ä¹,0x6=è¿è§ç±»å,0x7=æ¹å,0x8=å°ç¹*/
public byte byEnableAnony; //å¯ç¨å¿åï¼0-å¦ï¼1-æ¯
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 23, ArraySubType = UnmanagedType.I1)]
public byte[] byRes;
}
/*å¯ç¨æ¥å½åå¾ççç¸å
³å
ç´ */
public const int PICNAME_ITEM_DEV_NAME = 1; /*设å¤å*/
public const int PICNAME_ITEM_DEV_NO = 2; /*设å¤å·*/
public const int PICNAME_ITEM_DEV_IP = 3; /*设å¤IP*/
public const int PICNAME_ITEM_CHAN_NAME = 4; /*ééå*/
public const int PICNAME_ITEM_CHAN_NO = 5; /*ééå·*/
public const int PICNAME_ITEM_TIME = 6; /*æ¶é´*/
public const int PICNAME_ITEM_CARDNO = 7; /*å¡å·*/
public const int PICNAME_ITEM_PLATE_NO = 8; /*车çå·ç */
public const int PICNAME_ITEM_PLATE_COLOR = 9; /*车çé¢è²*/
public const int PICNAME_ITEM_CAR_CHAN = 10; /*车éå·*/
public const int PICNAME_ITEM_CAR_SPEED = 11; /*车è¾é度*/
public const int PICNAME_ITEM_CARCHAN = 12; /*çæµç¹*/
public const int PICNAME_ITEM_PIC_NUMBER = 13; //å¾çåºå·
public const int PICNAME_ITEM_CAR_NUMBER = 14; //车è¾åºå·
public const int PICNAME_ITEM_SPEED_LIMIT_VALUES = 15; //ééå¼
public const int PICNAME_ITEM_ILLEGAL_CODE = 16; //å½æ è¿æ³ä»£ç
public const int PICNAME_ITEM_CROSS_NUMBER = 17; //è·¯å£ç¼å·
public const int PICNAME_ITEM_DIRECTION_NUMBER = 18; //æ¹åç¼å·
public const int PICNAME_MAXITEM = 15;
//å¾çå½å
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_PICTURE_NAME
{
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = PICNAME_MAXITEM, ArraySubType = UnmanagedType.I1)]
public byte[] byItemOrder; /* æ¡æ°ç»å®ä¹æ件å½åçè§å */
public byte byDelimiter; /*åé符ï¼ä¸è¬ä¸º'_'*/
}
//å½åè§åï¼2013-09-27
public const int PICNAME_ITEM_PARK_DEV_IP = 1; /*设å¤IP*/
public const int PICNAME_ITEM_PARK_PLATE_NO = 2;/*车çå·ç */
public const int PICNAME_ITEM_PARK_TIME = 3; /*æ¶é´*/
public const int PICNAME_ITEM_PARK_INDEX = 4; /*车ä½ç¼å·*/
public const int PICNAME_ITEM_PARK_STATUS = 5; /*车ä½ç¶æ*/
//å¾çå½åæ©å± 2013-09-27
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_PICTURE_NAME_EX
{
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = PICNAME_MAXITEM, ArraySubType = UnmanagedType.I1)]
public byte[] byItemOrder; /* æ¡æ°ç»å®ä¹æ件å½åçè§å */
public byte byDelimiter; /*åé符ï¼ä¸è¬ä¸º'_'*/
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 32, ArraySubType = UnmanagedType.I1)]
public byte[] byRes; /*ä¿ç*/
}
/* 串å£æå¾è®¾ç½®*/
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_SERIAL_CATCHPIC_PARA
{
public byte byStrFlag; /*串å£æ°æ®å¼å§ç¬¦*/
public byte byEndFlag; /*ç»æ符*/
public ushort wCardIdx; /*å¡å·ç¸å¯¹èµ·å§ä½*/
public uint dwCardLen; /*å¡å·é¿åº¦*/
public uint dwTriggerPicChans; /*æ触åçééå·ï¼æä½ï¼ä»ç¬¬1ä½å¼å§è®¡ï¼å³0x2表示第ä¸éé*/
}
//DVRæå¾åæ°é
ç½®ï¼åºçº¿ï¼
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_JPEGCFG_V30
{
public uint dwSize;
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_CHANNUM_V30, ArraySubType = UnmanagedType.Struct)]
public NET_DVR_JPEGPARA[] struJpegPara; /*æ¯ä¸ªééçå¾ååæ°*/
public ushort wBurstMode; /*æå¾æ¹å¼,æä½è®¾ç½®.0x1=æ¥è¦è¾å
¥è§¦åï¼0x2=移å¨ä¾¦æµè§¦å 0x4=232触åï¼0x8=485触åï¼0x10=ç½ç»è§¦å*/
public ushort wUploadInterval; /*å¾çä¸ä¼ é´é(ç§)[0,65535]*/
public NET_DVR_PICTURE_NAME struPicNameRule; /* å¾çå½åè§å */
public byte bySaveToHD; /*æ¯å¦ä¿åå°ç¡¬ç*/
public byte byRes1;
public ushort wCatchInterval; /*æå¾é´é(毫ç§)[0,65535]*/
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 12, ArraySubType = UnmanagedType.I1)]
public byte[] byRes2;
public NET_DVR_SERIAL_CATCHPIC_PARA struRs232Cfg;
public NET_DVR_SERIAL_CATCHPIC_PARA struRs485Cfg;
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_CHANNUM_V30, ArraySubType = UnmanagedType.U4)]
public uint[] dwTriggerPicTimes; /* æ¯ä¸ªééä¸æ¬¡è§¦åæç
§æ¬¡æ° */
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_ALARMIN_V30, ArraySubType = UnmanagedType.U4)]
public uint[] dwAlarmInPicChanTriggered; /*æ¥è¦è§¦åææéé,æä½è®¾ç½®ï¼ä»ç¬¬1ä½å¼å§*/
}
//ææ触å请æ±ç»æ(ä¿ç)
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_MANUALSNAP
{
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 24, ArraySubType = UnmanagedType.I1)]
public byte[] byRes; //ä¿ç
}
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_SPRCFG
{
public uint dwSize;
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_CHJC_NUM, ArraySubType = UnmanagedType.I1)]
public byte[] byDefaultCHN; /*设å¤è¿è¡ç份çæ±åç®å*/
public byte byPlateOSD; /*0:ä¸åé车ç彩è²å¾,1:åé车ç彩è²å¾*/
public byte bySendJPEG1; /*0-ä¸ä¼ éè¿æ¯JPEGå¾,1-ä¼ éè¿æ¯JPEGå¾*/
public byte bySendJPEG2; /*0-ä¸ä¼ éè¿æ¯JPEGå¾,1-ä¼ éè¿æ¯JPEGå¾*/
public ushort wDesignedPlateWidth; /*车ç设计宽度*/
public byte byTotalLaneNum; /*è¯å«ç车éæ°*/
public byte byRes1; /*ä¿ç*/
public ushort wRecognizedLane; /*è¯å«ç车éå·ï¼æä½è¡¨ç¤ºï¼bit0表示车é1æ¯å¦è¯å«ï¼0-ä¸è¯å«ï¼1-è¯å«*/
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_LANERECT_NUM, ArraySubType = UnmanagedType.Struct)]
public NET_VCA_RECT[] struLaneRect; /*车éè¯å«åºå*/
public uint dwRecogMode; /*è¯å«çç±»åï¼
bit0-èåè¯å«ï¼0-æ£å车çè¯å«ï¼1-èåè¯å«(å°¾çè¯å«) ï¼
bit1-大车çè¯å«æå°è½¦çè¯å«ï¼0-å°è½¦çè¯å«ï¼1-大车çè¯å« ï¼
bit2-车身é¢è²è¯å«ï¼0-ä¸éç¨è½¦èº«é¢è²è¯å«ï¼å¨èåè¯å«æå°è½¦çè¯å«æ¶ç¦æ¢å¯ç¨ï¼1-车身é¢è²è¯å«ï¼
bit3-åç¨è½¦è¯å«ï¼0-ä¸éç¨åç¨è½¦è¯å«ï¼1-åç¨è½¦è¯å«ï¼
bit4-模ç³è¯å«ï¼0-ä¸éç¨æ¨¡ç³è¯å«ï¼1-模ç³è¯å«ï¼
bit5-帧å®ä½æåºå®ä½ï¼0-帧å®ä½ï¼1-åºå®ä½ï¼
bit6-帧è¯å«æåºè¯å«ï¼0-帧è¯å«ï¼1-åºè¯å«ï¼
bit7-æä¸æç½å¤©ï¼0-ç½å¤©ï¼1-æä¸ */
public byte bySendPRRaw; //æ¯å¦åéåå¾ï¼0-ä¸åéï¼1-åé
public byte bySendBinImage; //æ¯å¦åé车çäºå¼å¾ï¼0-ä¸åéï¼1-åé
public byte byDelayCapture; //延æ¶æææ§å¶,åä½ï¼å¸§
public byte byUseLED; //使ç¨LEDæ§å¶ï¼0-å¦ï¼1-æ¯
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 68, ArraySubType = UnmanagedType.I1)]
public byte[] byRes2; //ä¿ç
}
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_PLCCFG
{
public uint dwSize;
public byte byPlcEnable; //æ¯å¦å¯ç¨è½¦ç亮度补å¿ï¼é»è®¤å¯ç¨ï¼ï¼0-å
³éï¼1-å¯ç¨
public byte byPlateExpectedBright; //车ççé¢æ亮度ï¼é»è®¤å¼50ï¼, èå´[0, 100]
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 2, ArraySubType = UnmanagedType.I1)]
public byte[] byRes1; //ä¿ç
public byte byTradeoffFlash; //æ¯å¦èèéªå
ç¯çå½±å: 0 - å¦; 1 - æ¯(é»è®¤);
//使ç¨éªå
ç¯è¡¥å
æ¶, å¦æèèåå¼±éªå
ç¯ç亮度å¢å¼ºæåº, åéè¦è®¾ä¸º1;å¦å为0
public byte byCorrectFactor; //çº æ£ç³»æ°, èå´[0, 100], é»è®¤å¼50 (å¨tradeoff_flashåæ¢æ¶,æ¢å¤é»è®¤å¼ï¼
public ushort wLoopStatsEn; //æ¯å¦è¯¥çº¿åç亮度ï¼æä½è¡¨ç¤ºï¼0-ä¸ç»è®¡ï¼1-ç»è®¡
public byte byPlcBrightOffset;// 车ç亮度补å¿çµæ度(èæ线å模å¼èµ·æ)ï¼åå¼èå´1~100
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 19, ArraySubType = UnmanagedType.I1)]
public byte[] byRes;
}
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_DEVICESTATECFG
{
public uint dwSize;
public ushort wPreviewNum; //é¢è§è¿æ¥ä¸ªæ°
public ushort wFortifyLinkNum; //å¸é²è¿æ¥ä¸ªæ°
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_LINK, ArraySubType = UnmanagedType.Struct)]
public NET_DVR_IPADDR[] struPreviewIP; //é¢è§çç¨æ·IPå°å
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_FORTIFY_NUM, ArraySubType = UnmanagedType.Struct)]
public NET_DVR_IPADDR[] struFortifyIP; //å¸é²è¿æ¥çç¨æ·IPå°å
public uint dwVideoFrameRate; //帧çï¼0-å
¨é¨; 1-1/16; 2-1/8; 3-1/4; 4-1/2; 5-1; 6-2; 7-4; 8-6; 9-8; 10-10; 11-12; 12-16; 13-20; 14-15; 15-18; 16-22;
public byte byResolution; //å辨ç0-DCIF 1-CIF, 2-QCIF, 3-4CIF, 4-2CIF 5ï¼ä¿çï¼,16-VGAï¼640*480ï¼, 17-UXGAï¼1600*1200ï¼, 18-SVGA ï¼800*600ï¼,19-HD720pï¼1280*720ï¼,20-XVGA, 21-HD900p, 27-HD1080i, 28-2560*1920, 29-1600*304, 30-2048*1536, 31-2448*2048
public byte bySnapResolution; //ææå辨ç0-DCIF 1-CIF, 2-QCIF, 3-4CIF, 4-2CIF 5ï¼ä¿çï¼,16-VGAï¼640*480ï¼, 17-UXGAï¼1600*1200ï¼, 18-SVGA ï¼800*600ï¼,19-HD720pï¼1280*720ï¼,20-XVGA, 21-HD900p, 27-HD1080i, 28-2560*1920, 29-1600*304, 30-2048*1536, 31-2448*2048
public byte byStreamType; //ä¼ è¾ç±»åï¼0-主ç æµï¼1-åç æµ
public byte byTriggerType; //触å模å¼ï¼0-è§é¢è§¦åï¼1-æ®é触å
public uint dwSDVolume; //SDå¡å®¹é
public uint dwSDFreeSpace; //SDå¡å©ä½ç©ºé´
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_DRIVECHAN_NUM * MAX_COIL_NUM, ArraySubType = UnmanagedType.I1)]
public byte[] byDetectorState; //车æ£å¨ç¶æï¼0-æªä½¿ç¨ï¼1-æ£å¸¸ï¼2-å¼å¸¸
public byte byDetectorLinkState; //车æ£å¨è¿æ¥ç¶æï¼0-æªè¿æ¥ï¼1-è¿æ¥
public byte bySDStatus; //SDå¡ç¶æ 0ï¼æ´»å¨ï¼1ï¼ä¼ç ï¼2ï¼å¼å¸¸ï¼3-æ sdå¡
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_FORTIFY_NUM, ArraySubType = UnmanagedType.I1)]
public byte[] byFortifyLevel; //å¸é²ç级ï¼0-æ ï¼1-ä¸ç级ï¼é«ï¼ï¼2-äºç级ï¼ä¸ï¼ï¼3-ä¸ç级ï¼ä½ï¼
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 116, ArraySubType = UnmanagedType.I1)]
public byte[] byRes2; //ä¿ç
}
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_POSTEPOLICECFG
{
public uint dwSize;
public uint dwDistance;//线åè·ç¦»,åä½cmï¼åå¼èå´[0,20000]
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_SIGNALLIGHT_NUM, ArraySubType = UnmanagedType.U4)]
public uint[] dwLightChan; //ä¿¡å·ç¯ééå·
public byte byCapSpeed;//æ å¿ééï¼åä½km/hï¼åå¼èå´[0,255]
public byte bySpeedLimit;//ééå¼ï¼åä½km/hï¼åå¼èå´[0,255]
public byte byTrafficDirection;//车æµæ¹åï¼0-ç±ä¸å西ï¼1-ç±è¥¿åä¸ï¼2-ç±åååï¼3-ç±ååå
public byte byRes1; //ä¿ç
public ushort wLoopPreDist; /*触å延è¿è·ç¦» ï¼åä½ï¼åç±³*/
public ushort wTrigDelay; /*触å硬延æ¶æ¶é´ ï¼åä½ï¼æ¯«ç§*/
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 124, ArraySubType = UnmanagedType.I1)]
public byte[] byRes;//ä¿çåè
}
/***************************** end *********************************************/
public const int IPC_PROTOCOL_NUM = 50; //ipc åè®®æ大个æ°
//å议类å
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_PROTO_TYPE
{
public uint dwType; /*ipcåè®®å¼*/
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = DESC_LEN, ArraySubType = UnmanagedType.I1)]
public byte[] byDescribe; /*åè®®æè¿°å段*/
}
//åè®®å表
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_IPC_PROTO_LIST
{
public uint dwSize;
public uint dwProtoNum; /*ææçipcåè®®æ°ç®*/
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = IPC_PROTOCOL_NUM, ArraySubType = UnmanagedType.Struct)]
public NET_DVR_PROTO_TYPE[] struProto; /*ææçipcåè®®*/
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 8, ArraySubType = UnmanagedType.I1)]
public byte[] byRes;
}
public const int MAX_ALERTLINE_NUM = 8; //æ大è¦æ线æ¡æ°
//è¶ç侦æµæ¥è¯¢æ¡ä»¶
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_TRAVERSE_PLANE_SEARCHCOND
{
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_ALERTLINE_NUM, ArraySubType = UnmanagedType.Struct)]
public NET_VCA_TRAVERSE_PLANE[] struVcaTraversePlane; //ç©¿è¶å¢çé¢åæ°
public uint dwPreTime; /*æºè½æ¥è¦æåæ¶é´ åä½:ç§*/
public uint dwDelayTime; /*æºè½æ¥è¦å»¶è¿æ¶é´ åä½:ç§*/
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 5656, ArraySubType = UnmanagedType.I1)]
public byte[] byRes; //ä¿ç
}
public const int MAX_INTRUSIONREGION_NUM = 8; //æ大åºåæ°æ°
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_INTRUSION_SEARCHCOND
{
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_INTRUSIONREGION_NUM, ArraySubType = UnmanagedType.Struct)]
public NET_VCA_INTRUSION[] struVcaIntrusion; //å
¥ä¾µåºå
public uint dwPreTime; /*æºè½æ¥è¦æåæ¶é´ åä½:ç§*/
public uint dwDelayTime; /*æºè½æ¥è¦å»¶è¿æ¶é´ åä½:ç§*/
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 5400, ArraySubType = UnmanagedType.I1)]
public byte[] byRes; //ä¿ç
}
[StructLayoutAttribute(LayoutKind.Explicit)]
public struct NET_DVR_AREA_SMARTSEARCH_COND_UNION
{
[FieldOffsetAttribute(0)]
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 6144, ArraySubType = UnmanagedType.I1)]
public byte[] byLen; //ç»æä½é¿åº¦
[FieldOffsetAttribute(0)]
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 64 * 96, ArraySubType = UnmanagedType.I1)]
public byte[] byMotionScope; //侦æµåºå 0-96ä½è¡¨ç¤º64è¡ï¼å
±æ96*64个å°å®åï¼1-æ¯ç§»å¨ä¾¦æµåºåï¼0-é移å¨ä¾¦æµåºå
[FieldOffsetAttribute(0)]
public NET_DVR_TRAVERSE_PLANE_SEARCHCOND struTraversPlaneCond; //è¶ç侦æµ
[FieldOffsetAttribute(0)]
public NET_DVR_INTRUSION_SEARCHCOND struIntrusionCond; //åºåå
¥ä¾µ
}
//æºè½æç´¢åæ°
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_SMART_SEARCH_PARAM
{
public byte byChan; //ééå·
public byte bySearchCondType; //æºè½æ¥æ¾èåä½NET_DVR_AREA_SMARTSEARCH_COND_UNIONçç´¢å¼
/*0-移å¨ä¾¦æµåºå ï¼1-è¶ç侦æµï¼ 2-åºåå
¥ä¾µ*/
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 2, ArraySubType = UnmanagedType.I1)]
public byte[] byRes1;
public NET_DVR_TIME struStartTime; //å½åå¼å§çæ¶é´
public NET_DVR_TIME struEndTime; //å½ååæ¢çæ¶é´
public NET_DVR_AREA_SMARTSEARCH_COND_UNION uSmartSearchCond; //æºè½æ¥æ¾æ¡ä»¶
public byte bySensitivity; //移å¨ä¾¦æµæç´¢çµæ度,1 >80% 2 40%~80% 3 1%~40%
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 11, ArraySubType = UnmanagedType.I1)]
public byte[] byRes2;
}
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_SMART_SEARCH_RET
{
public NET_DVR_TIME struStartTime; //移å¨ä¾¦æµæ¥è¦å¼å§çæ¶é´
public NET_DVR_TIME struEndTime; //äºä»¶åæ¢çæ¶é´
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 64, ArraySubType = UnmanagedType.I1)]
public byte[] byRes;
}
//IPSAN æ件ç®å½æ¥æ¾
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_IPSAN_SERACH_PARAM
{
public NET_DVR_IPADDR struIP; // IPSAN IPå°å
public ushort wPort; // IPSAN 端å£
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 10, ArraySubType = UnmanagedType.I1)]
public byte[] byRes; // ä¿çåè
}
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_IPSAN_SERACH_RET
{
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 128, ArraySubType = UnmanagedType.I1)]
public byte[] byDirectory; // è¿åçæ件ç®å½
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 20, ArraySubType = UnmanagedType.I1)]
public byte[] byRes;
}
//DVR设å¤åæ°
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_DEVICECFG_V40
{
public uint dwSize;
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = NAME_LEN, ArraySubType = UnmanagedType.I1)]
public byte[] sDVRName; //DVRå称
public uint dwDVRID; //DVR ID,ç¨äºé¥æ§å¨ //V1.4(0-99), V1.5(0-255)
public uint dwRecycleRecord; //æ¯å¦å¾ªç¯å½å,0:ä¸æ¯; 1:æ¯
//以ä¸ä¸å¯æ´æ¹
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = SERIALNO_LEN, ArraySubType = UnmanagedType.I1)]
public byte[] sSerialNumber; //åºåå·
public uint dwSoftwareVersion; //软件çæ¬å·,é«16ä½æ¯ä¸»çæ¬,ä½16ä½æ¯æ¬¡çæ¬
public uint dwSoftwareBuildDate; //软件çææ¥æ,0xYYYYMMDD
public uint dwDSPSoftwareVersion; //DSP软件çæ¬,é«16ä½æ¯ä¸»çæ¬,ä½16ä½æ¯æ¬¡çæ¬
public uint dwDSPSoftwareBuildDate; // DSP软件çææ¥æ,0xYYYYMMDD
public uint dwPanelVersion; // åé¢æ¿çæ¬,é«16ä½æ¯ä¸»çæ¬,ä½16ä½æ¯æ¬¡çæ¬
public uint dwHardwareVersion; // 硬件çæ¬,é«16ä½æ¯ä¸»çæ¬,ä½16ä½æ¯æ¬¡çæ¬
public byte byAlarmInPortNum; //DVRæ¥è¦è¾å
¥ä¸ªæ°
public byte byAlarmOutPortNum; //DVRæ¥è¦è¾åºä¸ªæ°
public byte byRS232Num; //DVR 232串å£ä¸ªæ°
public byte byRS485Num; //DVR 485串å£ä¸ªæ°
public byte byNetworkPortNum; //ç½ç»å£ä¸ªæ°
public byte byDiskCtrlNum; //DVR 硬çæ§å¶å¨ä¸ªæ°
public byte byDiskNum; //DVR 硬ç个æ°
public byte byDVRType; //DVRç±»å, 1:DVR 2:ATM DVR 3:DVS ......
public byte byChanNum; //DVR éé个æ°
public byte byStartChan; //èµ·å§ééå·,ä¾å¦DVS-1,DVR - 1
public byte byDecordChans; //DVR 解ç è·¯æ°
public byte byVGANum; //VGAå£ç个æ°
public byte byUSBNum; //USBå£ç个æ°
public byte byAuxoutNum; //è¾
å£ç个æ°
public byte byAudioNum; //è¯é³å£ç个æ°
public byte byIPChanNum; //æ大æ°åééæ° ä½8ä½ï¼é«8ä½è§byHighIPChanNum
public byte byZeroChanNum; //é¶ééç¼ç 个æ°
public byte bySupport; //è½åï¼ä½ä¸ç»æ为0表示ä¸æ¯æï¼1表示æ¯æï¼
//bySupport & 0x1, 表示æ¯å¦æ¯ææºè½æç´¢
//bySupport & 0x2, 表示æ¯å¦æ¯æå¤ä»½
//bySupport & 0x4, 表示æ¯å¦æ¯æå缩åæ°è½åè·å
//bySupport & 0x8, 表示æ¯å¦æ¯æå¤ç½å¡
//bySupport & 0x10, 表示æ¯æè¿ç¨SADP
//bySupport & 0x20, 表示æ¯æRaidå¡åè½
//bySupport & 0x40, 表示æ¯æIPSANæç´¢
//bySupport & 0x80, 表示æ¯ærtp over rtsp
public byte byEsataUseage; //Esataçé»è®¤ç¨éï¼0-é»è®¤å¤ä»½ï¼1-é»è®¤å½å
public byte byIPCPlug; //0-å
³éå³æå³ç¨ï¼1-æå¼å³æå³ç¨
public byte byStorageMode; //0-çç»æ¨¡å¼,1-ç£çé
é¢, 2æ½å¸§æ¨¡å¼
public byte bySupport1; //è½åï¼ä½ä¸ç»æ为0表示ä¸æ¯æï¼1表示æ¯æ
//bySupport1 & 0x1, 表示æ¯å¦æ¯æsnmp v30
//bySupport1 & 0x2, æ¯æåºååæ¾åä¸è½½
//bySupport1 & 0x4, æ¯å¦æ¯æå¸é²ä¼å
级
//bySupport1 & 0x8, æºè½è®¾å¤æ¯å¦æ¯æå¸é²æ¶é´æ®µæ©å±
//bySupport1 & 0x10, 表示æ¯å¦æ¯æå¤ç£çæ°ï¼è¶
è¿33个ï¼
//bySupport1 & 0x20, 表示æ¯å¦æ¯ærtsp over http
public ushort wDevType;//设å¤åå·
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = DEV_TYPE_NAME_LEN, ArraySubType = UnmanagedType.I1)]
public byte[] byDevTypeName;//设å¤åå·å称
public byte bySupport2; //è½åéæ©å±ï¼ä½ä¸ç»æ为0表示ä¸æ¯æï¼1表示æ¯æ
//bySupport2 & 0x1, 表示æ¯å¦æ¯ææ©å±çOSDå符å å (ç»ç«¯åæææºæ©å±åºå)
public byte byAnalogAlarmInPortNum; //模ææ¥è¦è¾å
¥ä¸ªæ°
public byte byStartAlarmInNo; //模ææ¥è¦è¾å
¥èµ·å§å·
public byte byStartAlarmOutNo; //模ææ¥è¦è¾åºèµ·å§å·
public byte byStartIPAlarmInNo; //IPæ¥è¦è¾å
¥èµ·å§å· 0-æ æ
public byte byStartIPAlarmOutNo; //IPæ¥è¦è¾åºèµ·å§å· 0-æ æ
public byte byHighIPChanNum; //æ°åéé个æ°ï¼é«8ä½
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 9, ArraySubType = UnmanagedType.I1)]
public byte[] byRes2; //ä¿ç
}
public const int MAX_ZEROCHAN_NUM = 16;
//é¶ééå缩é
ç½®åæ°
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_ZEROCHANCFG
{
public uint dwSize; //ç»æé¿åº¦
public byte byEnable; //0-åæ¢é¶ééç¼ç ï¼1-表示å¯ç¨é¶ééç¼ç
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 3, ArraySubType = UnmanagedType.I1)]
public byte[] byRes1; //ä¿ç
public uint dwVideoBitrate; /*è§é¢ç ç 0-ä¿ç 1-16K(ä¿ç) 2-32K 3-48k 4-64K 5-80K 6-96K 7-128K 8-160k 9-192K 10-224K 11-256K
* 12-320K 13-384K 14-448K 15-512K 16-640K 17-768K 18-896K 19-1024K 20-1280K 21-1536K 22-1792K
* 23-2048K
* æé«ä½(31ä½)ç½®æ1表示æ¯èªå®ä¹ç æµ, 0-30ä½è¡¨ç¤ºç æµå¼(MIN-32K MAX-8192K) */
public uint dwVideoFrameRate; //帧ç 0-å
¨é¨; 1-1/16; 2-1/8; 3-1/4; 4-1/2; 5-1; 6-2; 7-4; 8-6; 9-8; 10-10; 11-12; 12-16; 13-20,
//V2.0å¢å 14-15, 15-18, 16-22;
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 32, ArraySubType = UnmanagedType.I1)]
public byte[] byRes2; //ä¿ç
}
//é¶éé缩æ¾åæ°
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_ZERO_ZOOMCFG
{
public uint dwSize; //ç»æé¿åº¦
public NET_VCA_POINT struPoint; //ç»é¢ä¸çåæ ç¹
public byte byState; //ç°å¨çç¶æï¼0-缩å°ï¼1-æ¾å¤§
public byte byPreviewNumber; //é¢è§æ°ç®,0-1ç»é¢,1-4ç»é¢,2-9ç»é¢,3-16ç»é¢ 该åæ°åªè¯»
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_WINDOW_V30, ArraySubType = UnmanagedType.I1)]
public byte[] byPreviewSeq;//ç»é¢ééä¿¡æ¯ è¯¥åæ°åªè¯»
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 30, ArraySubType = UnmanagedType.I1)]
public byte[] byRes; //ä¿ç
}
public const int DESC_LEN_64 = 64;
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_SNMPCFG
{
public uint dwSize; //ç»æé¿åº¦
public byte byEnable; //0-ç¦ç¨SNMPï¼1-表示å¯ç¨SNMP
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 3, ArraySubType = UnmanagedType.I1)]
public byte[] byRes1; //ä¿ç
public ushort wVersion; //snmp çæ¬ v1 = 1, v2 =2, v3 =3ï¼è®¾å¤ç®åä¸æ¯æ v3
public ushort wServerPort; //snmpæ¶æ¯æ¥æ¶ç«¯å£ï¼é»è®¤ 161
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = NAME_LEN, ArraySubType = UnmanagedType.I1)]
public byte[] byReadCommunity; //读å
±åä½ï¼æå¤31,é»è®¤"public"
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = NAME_LEN, ArraySubType = UnmanagedType.I1)]
public byte[] byWriteCommunity;//åå
±åä½,æå¤31 åè,é»è®¤ "private"
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = DESC_LEN_64, ArraySubType = UnmanagedType.I1)]
public byte[] byTrapHostIP; //èªé·ä¸»æºipå°åæè¿°ï¼æ¯æIPV4 IPV6åååæè¿°
public ushort wTrapHostPort; //trap主æºç«¯å£
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = NAME_LEN, ArraySubType = UnmanagedType.I1)]
public byte[] byTrapName;
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 70, ArraySubType = UnmanagedType.I1)]
public byte[] byRes2; //ä¿ç
}
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_SNMPv3_USER
{
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = NAME_LEN, ArraySubType = UnmanagedType.I1)]
public byte[] byUserName; // ç¨æ·å
public byte bySecLevel; //å®å
¨çº§å« 1-æ æ ¡éª 2-æ æææ ¡éª 3-æææ ¡éª
public byte byAuthtype; //认è¯ç±»å 0-MD5è®¤è¯ 1-SHAè®¤è¯ 2: none
public byte byPrivtype; //0: DES; 1: AES; 2: none;
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 5, ArraySubType = UnmanagedType.I1)]
public byte[] byRes;
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = PASSWD_LEN, ArraySubType = UnmanagedType.I1)]
public byte[] byAuthpass; //认è¯å¯ç
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = PASSWD_LEN, ArraySubType = UnmanagedType.I1)]
public byte[] byPrivpass; //å å¯å¯ç
}
//snmpv30
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_SNMPCFG_V30
{
public uint dwSize; //ç»æé¿åº¦
public byte byEnableV1; //0-ç¦ç¨SNMP V1ï¼1-表示å¯ç¨SNMP V1
public byte byEnableV2; //0-ç¦ç¨SNMP V2ï¼1-表示å¯ç¨SNMP V2
public byte byEnableV3; //0-ç¦ç¨SNMP V3ï¼1-表示å¯ç¨SNMP V3
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 3, ArraySubType = UnmanagedType.I1)]
public byte[] byRes1;
public ushort wServerPort; //snmpæ¶æ¯æ¥æ¶ç«¯å£ï¼é»è®¤ 161
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = NAME_LEN, ArraySubType = UnmanagedType.I1)]
public byte[] byReadCommunity; //读å
±åä½ï¼æå¤31,é»è®¤"public"
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = NAME_LEN, ArraySubType = UnmanagedType.I1)]
public byte[] byWriteCommunity; //åå
±åä½,æå¤31 åè,é»è®¤ "private"
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = DESC_LEN_64, ArraySubType = UnmanagedType.I1)]
public byte[] byTrapHostIP; //èªé·ä¸»æºipå°åæè¿°ï¼æ¯æIPV4 IPV6åååæè¿°
public ushort wTrapHostPort; // trap主æºç«¯å£
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 2, ArraySubType = UnmanagedType.I1)]
public byte[] byRes2;
public NET_DVR_SNMPv3_USER struRWUser; // 读åç¨æ·
public NET_DVR_SNMPv3_USER struROUser; // åªè¯»ç¨æ·
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = NAME_LEN, ArraySubType = UnmanagedType.I1)]
public byte[] byTrapName;
}
public const int PROCESSING = 0; //æ£å¨å¤ç
public const int PROCESS_SUCCESS = 100; //è¿ç¨å®æ
public const int PROCESS_EXCEPTION = 400; //è¿ç¨å¼å¸¸
public const int PROCESS_FAILED = 500; //è¿ç¨å¤±è´¥
public const int PROCESS_QUICK_SETUP_PD_COUNT = 501; //ä¸é®é
ç½®è³å°3å硬ç
public const int SOFTWARE_VERSION_LEN = 48;
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_SADPINFO
{
public NET_DVR_IPADDR struIP; // 设å¤IPå°å
public ushort wPort; // 设å¤ç«¯å£å·
public ushort wFactoryType; // 设å¤å家类å
[MarshalAsAttribute(UnmanagedType.ByValTStr, SizeConst = SOFTWARE_VERSION_LEN)]
public string chSoftwareVersion;
[MarshalAsAttribute(UnmanagedType.ByValTStr, SizeConst = 16)]
public string chSerialNo; // åºåå·
public ushort wEncCnt; // ç¼ç éé个æ°
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MACADDR_LEN, ArraySubType = UnmanagedType.I1)]
public byte[] byMACAddr; // MAC å°å
public NET_DVR_IPADDR struSubDVRIPMask; // DVR IPå°åæ©ç
public NET_DVR_IPADDR struGatewayIpAddr; // ç½å
³
public NET_DVR_IPADDR struDnsServer1IpAddr; /* ååæå¡å¨1çIPå°å */
public NET_DVR_IPADDR struDnsServer2IpAddr; /* ååæå¡å¨2çIPå°å */
public byte byDns;
public byte byDhcp;
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 158, ArraySubType = UnmanagedType.I1)]
public byte[] byRes; // ä¿çåè
}
public const int MAX_SADP_NUM = 256; //æç´¢å°è®¾å¤æ大æ°ç®
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_SADPINFO_LIST
{
public uint dwSize; // ç»æ大å°
public ushort wSadpNum; // æç´¢å°è®¾å¤æ°ç®
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 6, ArraySubType = UnmanagedType.I1)]
public byte[] byRes; // ä¿çåè
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_SADP_NUM, ArraySubType = UnmanagedType.Struct)]
public NET_DVR_SADPINFO[] struSadpInfo; // æç´¢
}
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_SADP_VERIFY
{
[MarshalAsAttribute(UnmanagedType.ByValTStr, SizeConst = PASSWD_LEN)]
public string chPassword;
public NET_DVR_IPADDR struOldIP;
public ushort wOldPort;
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 62, ArraySubType = UnmanagedType.I1)]
public byte[] byRes;
}
/***************************** end *********************************************/
/*******************************å¤ä»½ç»æ begin********************************/
//è·åå¤ä»½è®¾å¤ä¿¡æ¯æ¥å£å®ä¹
public const int DESC_LEN_32 = 32; //æè¿°åé¿åº¦
public const int MAX_NODE_NUM = 256; //èç¹ä¸ªæ°
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_DESC_NODE
{
public int iValue;
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = DESC_LEN_32, ArraySubType = UnmanagedType.I1)]
public byte[] byDescribe; //æè¿°å段
public uint dwFreeSpace; //è·åç£çå表ä¸ç¨,åä½ä¸ºM
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 12, ArraySubType = UnmanagedType.I1)]
public byte[] byRes; //ä¿ç
}
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_DISKABILITY_LIST
{
public uint dwSize; //ç»æé¿åº¦
public uint dwNodeNum; //è½åç»ç¹ä¸ªæ°
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_NODE_NUM, ArraySubType = UnmanagedType.Struct)]
public NET_DVR_DESC_NODE[] struDescNode; //æè¿°åæ°
}
//å¤ä»½è¿åº¦å表
public const int BACKUP_SUCCESS = 100; //å¤ä»½å®æ
public const int BACKUP_CHANGE_DEVICE = 101; //å¤ä»½è®¾å¤å·²æ»¡ï¼æ´æ¢è®¾å¤ç»§ç»å¤ä»½
public const int BACKUP_SEARCH_DEVICE = 300; //æ£å¨æç´¢å¤ä»½è®¾å¤
public const int BACKUP_SEARCH_FILE = 301; //æ£å¨æç´¢å½åæ件
public const int BACKUP_SEARCH_LOG_FILE = 302; //æ£å¨æç´¢æ¥å¿æ件
public const int BACKUP_EXCEPTION = 400; //å¤ä»½å¼å¸¸
public const int BACKUP_FAIL = 500; //å¤ä»½å¤±è´¥
public const int BACKUP_TIME_SEG_NO_FILE = 501; //æ¶é´æ®µå
æ å½åæ件
public const int BACKUP_NO_RESOURCE = 502; //ç³è¯·ä¸å°èµæº
public const int BACKUP_DEVICE_LOW_SPACE = 503; //å¤ä»½è®¾å¤å®¹éä¸è¶³
public const int BACKUP_DISK_FINALIZED = 504; //å»å½å
çå°ç
public const int BACKUP_DISK_EXCEPTION = 505; //å»å½å
çå¼å¸¸
public const int BACKUP_DEVICE_NOT_EXIST = 506; //å¤ä»½è®¾å¤ä¸åå¨
public const int BACKUP_OTHER_BACKUP_WORK = 507; //æå
¶ä»å¤ä»½æä½å¨è¿è¡
public const int BACKUP_USER_NO_RIGHT = 508; //ç¨æ·æ²¡ææä½æé
public const int BACKUP_OPERATE_FAIL = 509; //æä½å¤±è´¥
public const int BACKUP_NO_LOG_FILE = 510; //硬çä¸æ æ¥å¿
//å¤ä»½è¿ç¨æ¥å£å®ä¹
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_BACKUP_NAME_PARAM
{
public uint dwFileNum; //æ件个æ°
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_RECORD_FILE_NUM, ArraySubType = UnmanagedType.Struct)]
public NET_DVR_FINDDATA_V30[] struFileList; //æ件å表
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = DESC_LEN_32, ArraySubType = UnmanagedType.I1)]
public byte[] byDiskDes; //å¤ä»½ç£çæè¿°
public byte byWithPlayer; //æ¯å¦å¤ä»½ææ¾å¨
public byte byContinue; /*æ¯å¦ç»§ç»å¤ä»½ 0ä¸ç»§ç» 1继ç»*/
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 34, ArraySubType = UnmanagedType.I1)]
public byte[] byRes; //ä¿ç
}
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_BACKUP_TIME_PARAM
{
public int lChannel; //ææ¶é´å¤ä»½çéé
public NET_DVR_TIME struStartTime; //å¤ä»½çèµ·å§æ¶é´
public NET_DVR_TIME struStopTime; //å¤ä»½çç»æ¢æ¶é´
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = DESC_LEN_32, ArraySubType = UnmanagedType.I1)]
public byte[] byDiskDes; //å¤ä»½ç£çæè¿°
public byte byWithPlayer; //æ¯å¦å¤ä»½ææ¾å¨
public byte byContinue; //æ¯å¦ç»§ç»å¤ä»½ 0ä¸ç»§ç» 1继ç»
public byte byDrawFrame; //0 ä¸æ½å¸§ 1 æ½å¸§
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 33, ArraySubType = UnmanagedType.I1)]
public byte[] byRes; // ä¿çåè
}
/********************************* end *******************************************/
public enum COMPRESSION_ABILITY_TYPE
{
COMPRESSION_STREAM_ABILITY = 0, //ç æµå缩类å
MAIN_RESOLUTION_ABILITY = 1, //主ç æµå缩å辨ç
SUB_RESOLUTION_ABILITY = 2, //åç æµå缩å辨ç
EVENT_RESOLUTION_ABILITY = 3, //äºä»¶å缩åæ°å辨ç
FRAME_ABILITY = 4, //帧çè½å
BITRATE_TYPE_ABILITY = 5, //ä½çç±»åè½å
BITRATE_ABILITY = 6, //ä½çä¸é
THIRD_RESOLUTION_ABILITY = 7, //ä¸ç æµå缩å辨ç
STREAM_TYPE_ABILITY = 8, //ç æµç±»å
PIC_QUALITY_ABILITY = 9, //å¾åè´¨é
INTERVAL_BPFRAME_ABILITY = 10, //BP帧é´é
VIDEO_ENC_ABILITY = 11, //è§é¢ç¼ç è½å
AUDIO_ENC_ABILITY = 12, //é³é¢ç¼ç è½å
VIDEO_ENC_COMPLEXITY_ABILITY = 13, //è§é¢ç¼ç å¤æ度è½å
FORMAT_ABILITY = 14, //å°è£
æ ¼å¼è½å
}
//è½åå表
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_ABILITY_LIST
{
public uint dwAbilityType; //è½åç±»å COMPRESSION_ABILITY_TYPE
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 32, ArraySubType = UnmanagedType.I1)]
public byte[] byRes; //ä¿çåè
public uint dwNodeNum; //è½åç»ç¹ä¸ªæ°
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_NODE_NUM, ArraySubType = UnmanagedType.Struct)]
public NET_DVR_DESC_NODE[] struDescNode; //æè¿°åæ°
}
public const int MAX_ABILITYTYPE_NUM = 12; //æ大è½å项
// å缩åæ°è½åå表
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_COMPRESSIONCFG_ABILITY
{
public uint dwSize; //ç»æé¿åº¦
public uint dwAbilityNum; //è½åç±»å个æ°
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_ABILITYTYPE_NUM, ArraySubType = UnmanagedType.Struct)]
public NET_DVR_ABILITY_LIST[] struAbilityNode; //æè¿°åæ°
}
//模å¼A
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_HOLIDATE_MODEA
{
public byte byStartMonth; // å¼å§æ ä»1å¼å§
public byte byStartDay; // å¼å§æ¥ ä»1å¼å§
public byte byEndMonth; // ç»ææ
public byte byEndDay; // ç»ææ¥
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 4, ArraySubType = UnmanagedType.I1)]
public byte[] byRes; // ä¿çåè
}
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_HOLIDATE_MODEB
{
public byte byStartMonth; // ä»1å¼å§
public byte byStartWeekNum; // 第å 个ææ ä»1å¼å§
public byte byStartWeekday; // ææå
public byte byEndMonth; // ä»1å¼å§
public byte byEndWeekNum; // 第å 个ææ ä»1å¼å§
public byte byEndWeekday; // ææå
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 2, ArraySubType = UnmanagedType.I1)]
public byte[] byRes; // ä¿çåè
}
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_HOLIDATE_MODEC
{
public ushort wStartYear; // å¹´
public byte byStartMon; // æ
public byte byStartDay; // æ¥
public ushort wEndYear; // å¹´
public byte byEndMon; // æ
public byte byEndDay; // æ¥
}
[StructLayoutAttribute(LayoutKind.Explicit)]
public struct NET_DVR_HOLIDATE_UNION
{
//èåä½å¤§å° 12åè
[FieldOffsetAttribute(0)]
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 3, ArraySubType = UnmanagedType.U4)]
public uint[] dwSize;
[FieldOffsetAttribute(0)]
public NET_DVR_HOLIDATE_MODEA struModeA; // 模å¼A
[FieldOffsetAttribute(0)]
public NET_DVR_HOLIDATE_MODEB struModeB; // 模å¼B
[FieldOffsetAttribute(0)]
public NET_DVR_HOLIDATE_MODEC struModeC; // 模å¼C
}
public enum HOLI_DATE_MODE
{
HOLIDATE_MODEA = 0,
HOLIDATE_MODEB,
HOLIDATE_MODEC
}
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_HOLIDAY_PARAM
{
public byte byEnable; // æ¯å¦å¯ç¨
public byte byDateMode; // æ¥ææ¨¡å¼ 0-模å¼A 1-模å¼B 2-模å¼C
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 2, ArraySubType = UnmanagedType.I1)]
public byte[] byRes1; // ä¿çåè
public NET_DVR_HOLIDATE_UNION uHolidate; // åæ¥æ¥æ
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = NAME_LEN, ArraySubType = UnmanagedType.I1)]
public byte[] byName; // åæ¥å称
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 20, ArraySubType = UnmanagedType.I1)]
public byte[] byRes2; // ä¿çåè
}
public const int MAX_HOLIDAY_NUM = 32;
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_HOLIDAY_PARAM_CFG
{
public uint dwSize; // ç»æä½å¤§å°
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_HOLIDAY_NUM, ArraySubType = UnmanagedType.Struct)]
public NET_DVR_HOLIDAY_PARAM[] struHolidayParam; // åæ¥åæ°
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 40, ArraySubType = UnmanagedType.I1)]
public byte[] byRes; // ä¿çåæ°
}
//åæ¥æ¥è¦å¤çæ¹å¼
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_HOLIDAY_HANDLE
{
public uint dwSize; // ç»æä½å¤§å°
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_TIMESEGMENT_V30, ArraySubType = UnmanagedType.Struct)]
public NET_DVR_SCHEDTIME[] struAlarmTime; // å¸é²æ¶é´æ®µ
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 240, ArraySubType = UnmanagedType.I1)]
public byte[] byRes2; // ä¿çåè
}
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_HOLIDAY_RECORD
{
public uint dwSize;
public NET_DVR_RECORDDAY struRecDay; // å½ååæ°
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_TIMESEGMENT_V30, ArraySubType = UnmanagedType.Struct)]
public NET_DVR_RECORDSCHED[] struRecordSched; // å½åæ¶é´æ®µ
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 20, ArraySubType = UnmanagedType.I1)]
public byte[] byRes; // ä¿çåè
}
public const int MAX_LINK_V30 = 128;
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_ONE_LINK
{
public NET_DVR_IPADDR struIP; // 客æ·ç«¯IP
public int lChannel; // ééå·
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 32, ArraySubType = UnmanagedType.I1)]
public byte[] byRes; // ä¿çåè
}
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_LINK_STATUS
{
public uint dwSize; // ç»æä½å¤§å°
public ushort wLinkNum; // è¿æ¥çæ°ç®
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 2, ArraySubType = UnmanagedType.I1)]
public byte[] byRes1; // ä¿çåè
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_LINK_V30, ArraySubType = UnmanagedType.Struct)]
public NET_DVR_ONE_LINK[] struOneLink; // è¿æ¥ç客æ·ç«¯ä¿¡æ¯
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 32, ArraySubType = UnmanagedType.I1)]
public byte[] byRes; // ä¿çåè
}
public const int MAX_BOND_NUM = 2;
//åBONDINGç½å¡é
ç½®ç»æä½
[StructLayoutAttribute(LayoutKind.Sequential, CharSet = CharSet.Ansi)]
public struct NET_DVR_ONE_BONDING
{
public byte byMode;
public byte byUseDhcp;
public byte byMasterCard;
public byte byStatus;
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_NETWORK_CARD, ArraySubType = UnmanagedType.I1)]
public byte[] byBond;
public NET_DVR_ETHERNET_V30 struEtherNet;
public NET_DVR_IPADDR struGatewayIpAddr;
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 20, ArraySubType = UnmanagedType.I1)]
public byte[] byRes;
}
//BONDINGç½å¡é
ç½®ç»æä½
[StructLayoutAttribute(LayoutKind.Sequential, CharSet = CharSet.Ansi)]
public struct NET_DVR_NETWORK_BONDING
{
public uint dwSize;
public byte byEnable;
public byte byNum;
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 2, ArraySubType = UnmanagedType.I1)]
public byte[] byRes1;
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_BOND_NUM, ArraySubType = UnmanagedType.Struct)]
public NET_DVR_ONE_BONDING[] struOneBond;
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 40, ArraySubType = UnmanagedType.I1)]
public byte[] byRes2;
}
//ç£çé
é¢
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_DISK_QUOTA
{
public byte byQuotaType; // ç£çé
é¢ç±»å,1 - æ容é
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 7, ArraySubType = UnmanagedType.I1)]
public byte[] byRes1; // ä¿çåè
public uint dwHCapacity; // åé
çç£ç容éé«32ä½ åä½MB
public uint dwLCapacity; // åé
çç£ç容éä½32ä½ åä½MB
public uint dwHUsedSpace; // 已使ç¨çç£ç大å°é«32ä½ åä½MB
public uint dwLUsedSpace; // 已使ç¨çç£ç大å°ä½32ä½ åä½MB
public byte byQuotaRatio; // åé
çç£çæ¯ä¾,åä½:%
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 21, ArraySubType = UnmanagedType.I1)]
public byte[] byRes2; // ä¿çåè
}
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_DISK_QUOTA_CFG
{
public uint dwSize; // ç»æä½å¤§å°
public NET_DVR_DISK_QUOTA struPicQuota; // å¾çé
é¢
public NET_DVR_DISK_QUOTA struRecordQuota; // å½åé
é¢
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 60, ArraySubType = UnmanagedType.I1)]
public byte[] byRes; //ä¿çåè
}
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_TIMING_CAPTURE
{
public NET_DVR_JPEGPARA struJpegPara; // å®æ¶æå¾å¾çè´¨é
public uint dwPicInterval; //å®æ¶æå¾æ¶é´é´é,åä½s 1-1s 2-2s 3-3s 4-4s 5-5s
//6-10m 7-30m 8-1h 9-12h 10-24h
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 12, ArraySubType = UnmanagedType.I1)]
public byte[] byRes; // ä¿çåè
}
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_REL_CAPTURE_CHAN
{
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 16, ArraySubType = UnmanagedType.I1)]
public byte[] byChan; // æä½è¡¨ç¤º
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 20, ArraySubType = UnmanagedType.I1)]
public byte[] byRes; // ä¿çåè
}
public const int MAX_PIC_EVENT_NUM = 32;
public const int MAX_ALARMIN_CAPTURE = 16;
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_REL_CAPTURE_CHAN_V40
{
public uint dwMaxRelCaptureChanNum; //æ大å¯è§¦åçå
³èééæ°-åªè¯»å±æ§
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_CHANNUM_V40, ArraySubType = UnmanagedType.U4)]
public uint[] dwChanNo; //触åçå
³èæå¾ééå·ï¼æå¼è¡¨ç¤ºï¼éç¨ç´§ååæå,0xffffffff表示åç»æ æ
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 32, ArraySubType = UnmanagedType.I1)]
public byte[] byRes;
}
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_EVENT_CAPTURE_V40
{
public NET_DVR_JPEGPARA struJpegPara; // äºä»¶æå¾å¾çè´¨é
public uint dwPicInterval; // äºä»¶æå¾æ¶é´é´é åä½ä¸ºç§
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_PIC_EVENT_NUM, ArraySubType = UnmanagedType.Struct)]
public NET_DVR_REL_CAPTURE_CHAN_V40[] struRelCaptureChan; // æ°ç»ä¸æ 0 移å¨ä¾¦æµè§¦åæå¾ 1 è§é¢é®æ¡è§¦åæå¾ 2 è§é¢ä¸¢å¤±è§¦åæå¾,æ°ç»3表示PIRæ¥è¦æå¾ï¼æ°ç»4表示æ 线æ¥è¦æå¾ï¼æ°ç»5表示å¼ææ¥è¦æå¾,æ°ç»6表示æºè½æå¾
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_ALARMIN_CAPTURE, ArraySubType = UnmanagedType.Struct)]
public NET_DVR_REL_CAPTURE_CHAN_V40[] struAlarmInCapture; // æ¥è¦è¾å
¥è§¦åæå¾ï¼ä¸æ 0 代表æ¥è¦è¾å
¥1 ä¾æ¬¡ç±»æ¨
public uint dwMaxGroupNum; //设å¤æ¯æçæ大æ¥è¦è¾å
¥ç»æ°ï¼æ¯ç»16个æ¥è¦è¾å
¥
public byte byCapTimes; //æå¾å¼ æ°
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 59, ArraySubType = UnmanagedType.I1)]
public byte[] byRes;
}
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_EVENT_CAPTURE
{
public NET_DVR_JPEGPARA struJpegPara; // äºä»¶æå¾å¾çè´¨é
public uint dwPicInterval; /*äºä»¶æå¾æ¶é´é´é åä½ä¸ºç§ 1-1s 2-2s 3-3s 4-4s 5-5s
* 6-10m 7-30m 8-1h 9-12h 10-24h*/
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_PIC_EVENT_NUM, ArraySubType = UnmanagedType.Struct)]
public NET_DVR_REL_CAPTURE_CHAN[] struRelCaptureChan; /* æ°ç»ä¸æ 0 移å¨ä¾¦æµè§¦åæå¾ 1 è§é¢é®æ¡è§¦åæå¾,
* 2 è§é¢ä¸¢å¤±è§¦åæå¾,æ°ç»3表示PIRæ¥è¦æå¾ï¼æ°ç»4表示æ 线æ¥è¦æå¾ï¼
* æ°ç»5表示å¼ææ¥è¦æå¾,æ°ç»6表示æºè½æå¾ï¼ æ°ç»7表示人è¸ä¾¦æµ*/
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_ALARMIN_CAPTURE, ArraySubType = UnmanagedType.Struct)]
public NET_DVR_REL_CAPTURE_CHAN[] struAlarmInCapture; //æ¥è¦è¾å
¥è§¦åæå¾ï¼ä¸æ 0 代表æ¥è¦è¾å
¥1 ä¾æ¬¡ç±»æ¨
public byte byCapTimes; //æå¾å¼ æ°
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 59, ArraySubType = UnmanagedType.I1)]
public byte[] byRes;
}
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_JPEG_CAPTURE_CFG_V40
{
public uint dwSize; //ç»æä½é¿åº¦
public NET_DVR_TIMING_CAPTURE struTimingCapture;
public NET_DVR_EVENT_CAPTURE_V40 struEventCapture;
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 20, ArraySubType = UnmanagedType.I1)]
public byte[] byRes3; // ä¿çåè
}
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_JPEG_CAPTURE_CFG
{
public uint dwSize; // ç»æä½å¤§å°
public NET_DVR_TIMING_CAPTURE struTimingCapture;
public NET_DVR_EVENT_CAPTURE struEventCapture;
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 20, ArraySubType = UnmanagedType.I1)]
public byte[] byRes3; // ä¿çåè
}
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_CAPTURE_DAY
{
public byte byAllDayCapture; // æ¯å¦å
¨å¤©æå¾
public byte byCaptureType; // æå¾ç±»åï¼0-å®æ¶æå¾ï¼1-移å¨ä¾¦æµæå¾ï¼2-æ¥è¦æå¾ï¼3-移å¨ä¾¦æµææ¥è¦æå¾ï¼4-移å¨ä¾¦æµåæ¥è¦æå¾ï¼6-æºè½æ¥è¦æå¾
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 2, ArraySubType = UnmanagedType.I1)]
public byte[] byRes;
}
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_CAPTURE_SCHED
{
public NET_DVR_SCHEDTIME struCaptureTime; // æå¾æ¶é´æ®µ
public byte byCaptureType; // æå¾ç±»åï¼0-å®æ¶æå¾ï¼1-移å¨ä¾¦æµæå¾ï¼2-æ¥è¦æå¾ï¼3-移å¨ä¾¦æµææ¥è¦æå¾ï¼4-移å¨ä¾¦æµåæ¥è¦æå¾ï¼6-æºè½æ¥è¦æå¾
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 3, ArraySubType = UnmanagedType.I1)]
public byte[] byRes; // ä¿çåè
}
//ééæå¾è®¡å
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_SCHED_CAPTURECFG
{
public uint dwSize; //ç»æä½
public byte byEnable; //æ¯å¦æå¾
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 3, ArraySubType = UnmanagedType.I1)]
public byte[] byRes1; //ä¿çåè
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_DAYS, ArraySubType = UnmanagedType.Struct)]
public NET_DVR_CAPTURE_DAY[] struCaptureDay;//å
¨å¤©æå¾è®¡å
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_DAYS * MAX_TIMESEGMENT_V30, ArraySubType = UnmanagedType.Struct)]
public NET_DVR_CAPTURE_SCHED[] struCaptureSched;//æ¶é´æ®µæå¾å¸é²è®¡å
public NET_DVR_CAPTURE_DAY struCaptureHoliday; //åæ¥æå¾è®¡å
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_TIMESEGMENT_V30, ArraySubType = UnmanagedType.Struct)]
public NET_DVR_CAPTURE_SCHED[] struHolidaySched; //æ¶é´æ®µåæ¥æå¾å¸é²è®¡å
public uint dwRecorderDuration; //æå¾ä¿åæé¿æ¶é´ 0xffffffff表示该å¼æ æ
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 40, ArraySubType = UnmanagedType.I1)]
public byte[] byRes; //ä¿çåè
}
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_FLOW_TEST_PARAM
{
public uint dwSize; //ç»æ大å°
public int lCardIndex; //ç½å¡ç´¢å¼
public uint dwInterval; //设å¤ä¸ä¼ æµéæ¶é´é´é, åä½:100ms
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 8, ArraySubType = UnmanagedType.I1)]
public byte[] byRes; //ä¿çåè
}
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_FLOW_INFO
{
public uint dwSize; //ç»æ大å°
public uint dwSendFlowSize; //åéæµé大å°,åä½kbps
public uint dwRecvFlowSize; //æ¥æ¶æµé大å°,åä½kbps
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 20, ArraySubType = UnmanagedType.I1)]
public byte[] byRes; //ä¿ç
}
//å½åæ ç¾
public const int LABEL_NAME_LEN = 40;
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_RECORD_LABEL
{
public uint dwSize; // ç»æä½å¤§å°
public NET_DVR_TIME struTimeLabel; // æ ç¾çæ¶é´
public byte byQuickAdd; // æ¯å¦å¿«éæ·»å å¿«éæ·»å æ¶æ ç¾å称æ æ
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 3, ArraySubType = UnmanagedType.I1)]
public byte[] byRes1; // ä¿çåè
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = LABEL_NAME_LEN, ArraySubType = UnmanagedType.I1)]
public byte[] sLabelName; // æ ç¾çå称 é¿åº¦ä¸º40åè
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 40, ArraySubType = UnmanagedType.I1)]
public byte[] byRes2; // ä¿çåè
}
public const int LABEL_IDENTIFY_LEN = 64;
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_LABEL_IDENTIFY
{
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = LABEL_IDENTIFY_LEN, ArraySubType = UnmanagedType.I1)]
public byte[] sLabelIdentify; // 64åèæ è¯
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 8, ArraySubType = UnmanagedType.I1)]
public byte[] byRes; // ä¿çåè
}
public const int MAX_DEL_LABEL_IDENTIFY = 20;// å é¤çæ大æ ç¾æ è¯ä¸ªæ°
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_DEL_LABEL_PARAM
{
public uint dwSize; // ç»æä½å¤§å°
public byte byMode; // æä½è¡¨ç¤º,0x01表示ææ è¯å é¤
public byte byRes1;
public ushort wLabelNum; // æ ç¾æ°ç®
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_DEL_LABEL_IDENTIFY, ArraySubType = UnmanagedType.Struct)]
public NET_DVR_LABEL_IDENTIFY[] struIndentify; // æ ç¾æ è¯
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 160, ArraySubType = UnmanagedType.I1)]
public byte[] byRes2; //ä¿çåè
}
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_MOD_LABEL_PARAM
{
public NET_DVR_LABEL_IDENTIFY struIndentify; //è¦ä¿®æ¹çæ ç¾æ è¯
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 24, ArraySubType = UnmanagedType.I1)]
public byte[] byRes1;
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = LABEL_NAME_LEN, ArraySubType = UnmanagedType.I1)]
public byte[] sLabelName; //ä¿®æ¹åçæ ç¾å称
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 40, ArraySubType = UnmanagedType.I1)]
public byte[] byRes2;
}
//æ ç¾æç´¢ç»æä½
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_FIND_LABEL
{
public uint dwSize; // ç»æä½å¤§å°
public int lChannel; // æ¥æ¾çéé
public NET_DVR_TIME struStartTime; // å¼å§æ¶é´
public NET_DVR_TIME struStopTime; // ç»ææ¶é´
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = LABEL_NAME_LEN, ArraySubType = UnmanagedType.I1)]
public byte[] sLabelName; // å½åæ ç¾å称 å¦ææ ç¾å称为空ï¼åæ索起æ¢æ¶é´æææ ç¾
public byte byDrawFrame; //0:ä¸æ½å¸§ï¼1ï¼æ½å¸§
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 39, ArraySubType = UnmanagedType.I1)]
public byte[] byRes; // ä¿çåè
}
//æ ç¾ä¿¡æ¯ç»æä½
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_FINDLABEL_DATA
{
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = LABEL_NAME_LEN, ArraySubType = UnmanagedType.I1)]
public byte[] sLabelName; // æ ç¾å称
public NET_DVR_TIME struTimeLabel; // æ ç¾æ¶é´
public NET_DVR_LABEL_IDENTIFY struLabelIdentify; // æ ç¾æ è¯
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 32, ArraySubType = UnmanagedType.I1)]
public byte[] byRes1; // ä¿çåè
}
public const int CARDNUM_LEN_V30 = 40;
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_FIND_PICTURE_PARAM
{
public uint dwSize; //ç»æä½å¤§å°
public int lChannel; //ééå·
public byte byFileType; /* æ¥æ¾çå¾çç±»å:0å®æ¶æå¾1 移å¨ä¾¦æµæå¾ 2 æ¥è¦æå¾3 æ¥è¦ | 移å¨ä¾¦æµæå¾ 4 æ¥è¦ & 移å¨ä¾¦æµæå¾
* 6 æå¨æå¾ ,9-æºè½å¾ç,10- PIRæ¥è¦ï¼11- æ 线æ¥è¦ï¼12- å¼ææ¥è¦,0xa é¢è§æ¶æªå¾ï¼0xd 人è¸ä¾¦æµ,
* 0xe è¶ç侦æµï¼0xf å
¥ä¾µåºå侦æµï¼0x10 åºæ¯åæ´ä¾¦æµ, 0x11-设å¤æ¬å°åæ¾æ¶æªå¾, 0x12-æºè½ä¾¦æµï¼
* 0xff- å
¨é¨ç±»å 2013-07-16*/
public byte byNeedCard; //æ¯å¦éè¦å¡å·
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 2, ArraySubType = UnmanagedType.I1)]
public byte[] byRes1; // ä¿çåè
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = CARDNUM_LEN_V30, ArraySubType = UnmanagedType.I1)]
public byte[] sCardNum; // å¡å·
public NET_DVR_TIME struStartTime;//æ¥æ¾å¾ççå¼å§æ¶é´
public NET_DVR_TIME struStopTime;// æ¥æ¾å¾ççç»ææ¶é´
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 40, ArraySubType = UnmanagedType.I1)]
public byte[] byRes2; // ä¿çåè
}
public const int PICTURE_NAME_LEN = 64;
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_FIND_PICTURE
{
[MarshalAsAttribute(UnmanagedType.ByValTStr, SizeConst = PICTURE_NAME_LEN)]
public string sFileName;//å¾çå
public NET_DVR_TIME struTime;//å¾ççæ¶é´
public uint dwFileSize;//å¾çç大å°
[MarshalAsAttribute(UnmanagedType.ByValTStr, SizeConst = CARDNUM_LEN_V30)]
public string sCardNum; //å¡å·
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 32, ArraySubType = UnmanagedType.I1)]
public byte[] byRes; // ä¿çåè
}
public const int MAX_RECORD_PICTURE_NUM = 50; //æ大å¤ä»½å¾çå¼ æ°
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_BACKUP_PICTURE_PARAM
{
public uint dwSize; // ç»æä½å¤§å°
public uint dwPicNum;
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_RECORD_PICTURE_NUM, ArraySubType = UnmanagedType.Struct)]
public NET_DVR_FIND_PICTURE[] struPicture;
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = DESC_LEN_32, ArraySubType = UnmanagedType.I1)]
public byte[] byDiskDes;
public byte byWithPlayer;
public byte byContinue; /*æ¯å¦ç»§ç»å¤ä»½ 0ä¸ç»§ç» 1继ç»*/
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 34, ArraySubType = UnmanagedType.I1)]
public byte[] byRes;
}
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_COMPRESSION_LIMIT
{
public uint dwSize; //ç»æä½å¤§å°
public uint dwChannel; //ééå·
public byte byCompressType; //å¾
è·åçå缩åæ°ç±»å1,主ç æµ2,åç æµ3,äºä»¶
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 15, ArraySubType = UnmanagedType.I1)]
public byte[] byRes; //ä¿ç
public NET_DVR_COMPRESSIONCFG_V30 struCurrentCfg; //å½åå缩åæ°é
ç½®
}
public const int STEP_READY = 0; //åå¤å级
public const int STEP_RECV_DATA = 1; //æ¥æ¶å级å
æ°æ®
public const int STEP_UPGRADE = 2; //å级系ç»
public const int STEP_BACKUP = 3; //å¤ä»½ç³»ç»
public const int STEP_SEARCH = 255; //æç´¢å级æ件
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_VIDEO_EFFECT
{
public uint dwBrightValue; //亮度[0,255]
public uint dwContrastValue; //对æ¯åº¦[0,255]
public uint dwSaturationValue; //饱å度[0,255]
public uint dwHueValue; //è²è°[0,255]
public uint dwSharpness; //é度[0,255]
public uint dwDenoising; //å»åª[0,255]
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 12, ArraySubType = UnmanagedType.I1)]
public byte[] byRes;
}
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_VIDEO_INPUT_EFFECT
{
public uint dwSize; //ç»æä½å¤§å°
public ushort wEffectMode; //æ¨¡å¼ 0-æ å 1-室å
2-å¼±å
3-å®¤å¤ 255-èªå®ä¹
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 146, ArraySubType = UnmanagedType.I1)]
public byte[] byRes1; //ä¿ç
public NET_DVR_VIDEO_EFFECT struVideoEffect; //è§é¢ææåæ°
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 60, ArraySubType = UnmanagedType.I1)]
public byte[] byRes2; //ä¿ç
}
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_VIDEOPARA_V40
{
public uint dwChannel; // ééå·
public uint dwVideoParamType; // è§é¢åæ°ç±»å 0-亮度 1-对æ¯åº¦ 2-饱å度 3-è²åº¦ 4-é度 5-å»åª
public uint dwVideoParamValue; //对åºçè§é¢åæ°å¼ï¼èå´ä¾æ®è½åé
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 12, ArraySubType = UnmanagedType.I1)]
public byte[] byRes;
}
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_DEFAULT_VIDEO_COND
{
public uint dwSize; // ç»æä½å¤§å°
public uint dwChannel; // ééå·
public uint dwVideoMode; // 模å¼
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 32, ArraySubType = UnmanagedType.I1)]
public byte[] byRes; // ä¿ç
}
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_ENCODE_JOINT_PARAM
{
public uint dwSize; // ç»æä½å¤§å°
public byte byJointed; // 0 没æå
³è 1 å·²ç»å
³è
public byte byDevType; // 被å
³èç设å¤ç±»å 1 代表æºè½è®¾å¤
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 2, ArraySubType = UnmanagedType.I1)]
public byte[] byRes1; // ä¿çåè
public NET_DVR_IPADDR struIP; // å
³èç被åæµè®¾å¤IPå°å
public ushort wPort; // å
³èç被åæµè®¾å¤ç«¯å£å·
public ushort wChannel; // å
³èç被åæµè®¾å¤ééå·
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 20, ArraySubType = UnmanagedType.I1)]
public byte[] byRes2; // ä¿çåè
}
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_VCA_CHAN_WORKSTATUS
{
public byte byJointed; // 0-没æå
³è 1-å·²ç»å
³è
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 3, ArraySubType = UnmanagedType.I1)]
public byte[] byRes1;
public NET_DVR_IPADDR struIP; // å
³èçåæµè®¾å¤IPå°å
public ushort wPort; // å
³èçåæµè®¾å¤ç«¯å£å·
public ushort wChannel; // å
³èçåæµè®¾å¤ééå·
public byte byVcaChanStatus; // 0 - æªå¯ç¨ 1 - å¯ç¨
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 19, ArraySubType = UnmanagedType.I1)]
public byte[] byRes2; // ä¿çåè
}
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_VCA_DEV_WORKSTATUS
{
public uint dwSize; // ç»æä½å¤§å°
public byte byDeviceStatus; // 设å¤çç¶æ0 - æ£å¸¸å·¥ä½ 1- ä¸æ£å¸¸å·¥ä½
public byte byCpuLoad; // CPU使ç¨ç0-100 åå«ä»£è¡¨ä½¿ç¨ç¾åç
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_VCA_CHAN, ArraySubType = UnmanagedType.Struct)]
public NET_DVR_VCA_CHAN_WORKSTATUS[] struVcaChanStatus;
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 40, ArraySubType = UnmanagedType.U4)]
public uint[] dwRes; // ä¿çåè
}
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct UNION_VIDEOPLATFORM_V40
{
/*å个åçªå£å¯¹åºè§£ç ééæ对åºç解ç åç³»ç»ç槽ä½å·(对äºè§é¢ç»¼åå¹³å°ä¸è§£ç åç³»ç»ææ)*/
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_WINDOWS, ArraySubType = UnmanagedType.I1)]
public byte[] byJoinDecoderId;
//æ¾ç¤ºçªå£æ解è§é¢å辨çï¼1-D1,2-720P,3-1080Pï¼è®¾å¤ç«¯éè¦æ ¹æ®æ¤//å辨çè¿è¡è§£ç ééçåé
ï¼å¦1åå±é
ç½®æ1080Pï¼å设å¤ä¼æ4个解ç é
//éé½åé
ç»æ¤è§£ç éé
public byte byDecResolution;
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 143, ArraySubType = UnmanagedType.I1)]
public byte[] byRes;
}
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct UNION_NOTVIDEOPLATFORM_V40
{
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 160, ArraySubType = UnmanagedType.I1)]
public byte[] byRes;
}
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_VGA_DISP_CHAN_CFG_V40
{
public uint dwSize;
public byte byAudio; /*é³é¢æ¯å¦å¼å¯*/
public byte byAudioWindowIdx; /*é³é¢å¼å¯åçªå£*/
public byte byVgaResolution; /*å辨çï¼ä»è½åéè·å*/
public byte byVedioFormat; /*1:NTSC,2:PALï¼0-NULL*/
public uint dwWindowMode; /*ç»é¢æ¨¡å¼ï¼è½åéè·å*/
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_WINDOWS, ArraySubType = UnmanagedType.I1)]
public byte[] byJoinDecChan;/*å个åçªå£å
³èç解ç éé*/
public byte byEnlargeStatus; /*æ¯å¦å¤äºæ¾å¤§ç¶æï¼0ï¼ä¸æ¾å¤§ï¼1ï¼æ¾å¤§*/
public byte byEnlargeSubWindowIndex;//æ¾å¤§çåçªå£å·
public byte byScale; /*æ¾ç¤ºæ¨¡å¼ï¼0---çå®æ¾ç¤ºï¼1---缩æ¾æ¾ç¤º( é对BNC )*/
/*åºåå
±ç¨ä½ï¼0-è§é¢ç»¼åå¹³å°å
é¨è§£ç å¨æ¾ç¤ºééé
ç½®ï¼1-å
¶ä»è§£ç å¨æ¾ç¤ºééé
ç½®*/
public byte byUnionType;
[StructLayoutAttribute(LayoutKind.Explicit)]
public struct struDiff
{
[FieldOffsetAttribute(0)]
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 160, ArraySubType = UnmanagedType.I1)]
public byte[] byRes;
[FieldOffsetAttribute(0)]
public UNION_VIDEOPLATFORM_V40 struVideoPlatform;
[FieldOffsetAttribute(0)]
public UNION_NOTVIDEOPLATFORM_V40 struNotVideoPlatform;
}
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 120, ArraySubType = UnmanagedType.I1)]
public byte[] byRes;
}
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_V6SUBSYSTEMPARAM
{
public byte bySerialTrans;//æ¯å¦éä¼ ï¼0-å¦ï¼1-æ¯
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 35, ArraySubType = UnmanagedType.I1)]
public byte[] byRes;
}
public const int NET_DVR_V6PSUBSYSTEMARAM_GET = 1501;//è·åV6åç³»ç»é
ç½®
public const int NET_DVR_V6PSUBSYSTEMARAM_SET = 1502;//设置V6åç³»ç»é
ç½®
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_CORRECT_DEADPIXEL_PARAM
{
public uint dwSize;
public uint dwCommand; //å½ä»¤ï¼0-è¿å
¥åç¹æ¨¡å¼ï¼1-æ·»å åç¹ï¼2-ä¿ååç¹ï¼3-éåºåç¹
public uint dwDeadPixelX; //åç¹Xåæ
public uint dwDeadPixelY; //åç¹Yåæ
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 12, ArraySubType = UnmanagedType.I1)]
public byte[] byRes; //ä¿ç
}
public const int MAX_REDAREA_NUM = 6; //æ大红绿ç¯åºå个æ°
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_REDAREACFG
{
public uint dwSize;
public uint dwCorrectEnable; //æ¯å¦å¼å¯æ ¡æ£åè½ï¼0-å
³éï¼1-å¼å¯
public uint dwCorrectLevel; //æ ¡æ£çº§å«ï¼1(æ ¡æ£åº¦æä½)-10(æ ¡æ£åº¦æé«),é»è®¤ä¸º5
public uint dwAreaNum; //æ ¡æ£åºå个æ°
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_REDAREA_NUM, ArraySubType = UnmanagedType.Struct)]
public NET_VCA_RECT[] struLaneRect; //æ ¡æ£åºå
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 32, ArraySubType = UnmanagedType.I1)]
public byte[] byRes2; //ä¿ç
}
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_HISTORICDATACFG
{
public uint dwSize;
public uint dwTotalNum; //åå²æ°æ®ä¸ªæ°
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 16, ArraySubType = UnmanagedType.I1)]
public byte[] byRes;
}
public const int INQUEST_MESSAGE_LEN = 44; //审讯éç¹æ è®°ä¿¡æ¯é¿åº¦
public const int INQUEST_MAX_ROOM_NUM = 2; //æ大审讯室个æ°
public const int MAX_RESUME_SEGMENT = 2; //æ¯æåæ¶æ¢å¤çç段æ°ç®
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_INQUEST_ROOM
{
public byte byRoomIndex; //审讯室ç¼å·
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 23, ArraySubType = UnmanagedType.I1)]
public byte[] byRes; //ä¿ç
}
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_INQUEST_MESSAGE
{
[MarshalAsAttribute(UnmanagedType.ByValTStr, SizeConst = INQUEST_MESSAGE_LEN)]
public string sMessage; //éç¹æ è®°ä¿¡æ¯
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 46, ArraySubType = UnmanagedType.I1)]
public byte[] byRes; //ä¿ç
}
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_INQUEST_SENSOR_DEVICE
{
public ushort wDeviceType; //æ°æ®éé设å¤åå·:0-æ 1-ç±³ä¹ 2-é彩 3-ä¼å 4-ä½³ç 5-æ°¸æ§ã6-å
ä¸ã7-维纳æ¯è¾¾
public ushort wDeviceAddr; //æ°æ®éé设å¤å°å
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 28, ArraySubType = UnmanagedType.I1)]
public byte[] byRes; //ä¿ç
}
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_INQUEST_SENSOR_INFO
{
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = INQUEST_MAX_ROOM_NUM, ArraySubType = UnmanagedType.Struct)]
public NET_DVR_INQUEST_SENSOR_DEVICE[] struSensorDevice;
public uint dwSupportPro; //æ¯æå议类å,æä½è¡¨ç¤º, æ°çæ¬èµ°è½åéï¼ä¸åæ©å±æ¤å段
//0x1:ç±³ä¹ 0x2:é彩 0x4:ä¼å
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 120, ArraySubType = UnmanagedType.I1)]
public byte[] byRes; //ä¿ç
}
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_INQUEST_ROOM_INFO
{
[MarshalAsAttribute(UnmanagedType.ByValTStr, SizeConst = NAME_LEN)]
public string szCDName; //å
çå称ï¼å室åå»å
çå称æ¯ä¸æ ·ç
[StructLayoutAttribute(LayoutKind.Explicit)]
public struct uCalcMode
{
[FieldOffsetAttribute(0)]
public byte byBitRate; // byCalcType为0æ¶ææï¼(0-32ã1-48ã2-64ã3-80ã4-96ã5-128ã
//6-160ã7-192ã8-224ã9-256ã10-320ã11-384ã12-448ã
//13-512ã14-640ã15-768ã16-896å16个å¼ä¿ç)17-1024ã18-1280ã19-1536ã
//20-1792ã21-2048ã22-3072ã23-4096ã24-8192
[FieldOffsetAttribute(0)]
public byte byInquestTime; // byCalcType为1æ¶ææï¼0-1å°æ¶, 1-2å°æ¶,2-3å°æ¶,3-4å°æ¶, 4-6å°æ¶,5-8å°æ¶
//8-16å°æ¶, 9-20å°æ¶,10-22å°æ¶,11-24å°æ¶
}
public byte byCalcType; //å»å½è®¡ç®ç±»å0-æç ç 1-ææ¶é´
public byte byAutoDelRecord; // æ¯å¦èªå¨å é¤å½åï¼0-ä¸å é¤ï¼å³ç»ææ¶ä¿åå½å 1-å é¤
public byte byAlarmThreshold; // 声é³æ¥è¦éå¼
public byte byInquestChannelResolution; //审讯ééå辨çï¼0:720P 1:1080P
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 11, ArraySubType = UnmanagedType.I1)]
public byte[] byRes;
}
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_INQUEST_SYSTEM_INFO
{
public uint dwRecordMode; //å»å½æ¨¡å¼:1 å室åå»æ¨¡å¼ 2 å室轮å»æ¨¡å¼ 3 å室åå»æ¨¡å¼ï¼ä¿®æ¹éè¦éå¯è®¾å¤ï¼
public uint dwWorkMode; //å·¥ä½æ¨¡å¼:0 æ åæ¨¡å¼ 1 éç¨æ¨¡å¼(ä¿çï¼ç®ååªææ å模å¼)
public uint dwResolutionMode; //设å¤å辨çï¼0:æ æ¸
1:D1 2:720P 3:1080Pï¼é«æ¸
审讯æºä¸ç¨æ¤å段ï¼
public NET_DVR_INQUEST_SENSOR_INFO struSensorInfo; //æ¸©æ¹¿åº¦ä¼ æå¨é
ç½®
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = INQUEST_MAX_ROOM_NUM, ArraySubType = UnmanagedType.Struct)]
public NET_DVR_INQUEST_ROOM_INFO[] struInquestRoomInfo;
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 24, ArraySubType = UnmanagedType.I1)]
public byte[] byRes;
}
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_INQUEST_RESUME_SEGMENT
{
public NET_DVR_TIME struStartTime; //äºä»¶èµ·å§æ¶é´
public NET_DVR_TIME struStopTime; //äºä»¶ç»æ¢æ¶é´
public byte byRoomIndex; //审讯室ç¼å·,ä»1å¼å§
public byte byDriveIndex; //å»å½æºç¼å·,ä»1å¼å§
public ushort wSegmetSize; //æ¬çæç大å°, åä½M
public uint dwSegmentNo; //æ¬çæå¨æ¬æ¬¡å®¡è®¯ä¸çåºå·,ä»1å¼å§
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 24, ArraySubType = UnmanagedType.I1)]
public byte[] byRes; //ä¿ç
}
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_INQUEST_RESUME_EVENT
{
public uint dwResumeNum; //éæ¢å¤çäºä»¶ä¸ªæ°
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_RESUME_SEGMENT, ArraySubType = UnmanagedType.Struct)]
public NET_DVR_INQUEST_RESUME_SEGMENT[] struResumeSegment;
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 200, ArraySubType = UnmanagedType.I1)]
public byte[] byRes; //ä¿ç
}
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_INQUEST_DEVICE_VERSION
{
public byte byMainVersion; /*åºçº¿ä¸»çæ¬.
0 : æªç¥
1 : 8000审讯DVR
次çæ¬: 1 : 8000HD-S
2 : 8100审讯DVR
次çæ¬: 1 : 审讯81SNL
2 : 审讯81SH
3 : 审讯81SFH
3 : 8608é«æ¸
审讯æºNVR
次çæ¬: 1 : DS-8608SN-SP
2 : DS-8608SN-ST
*/
public byte bySubVersion; //åºçº¿æ¬¡çæ¬
public byte byUpgradeVersion; //å级çæ¬,æªå级为0
public byte byCustomizeVersion; //å®å¶çæ¬,éå®å¶ä¸º0
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 60, ArraySubType = UnmanagedType.I1)]
public byte[] byRes; //ä¿ç
}
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_DISK_RAID_INFO
{
public uint dwSize; //ç»æä½å¤§å°
public byte byEnable; //ç£çRaidæ¯å¦ç¦ç¨
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 35, ArraySubType = UnmanagedType.I1)]
public byte[] byRes; //ä¿çåè
}
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_SYNCHRONOUS_IPC
{
public uint dwSize; //ç»æä½å¤§å°
public byte byEnable; //æ¯å¦å¯ç¨ï¼ä¸ºå端IPCåæ¥è®¾å¤åæ°
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 7, ArraySubType = UnmanagedType.I1)]
public byte[] byRes; //ä¿ç
}
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_IPC_PASSWD
{
public uint dwSize; //ç»æä½å¤§å°
[MarshalAsAttribute(UnmanagedType.ByValTStr, SizeConst = PASSWD_LEN)]
public string sOldPasswd; //IPCçæ§å¯ç ï¼ä¼ ç»DVR让DVRéªè¯
[MarshalAsAttribute(UnmanagedType.ByValTStr, SizeConst = PASSWD_LEN)]
public string sNewPasswd; //IPCçæ°å¯ç
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 32, ArraySubType = UnmanagedType.I1)]
public byte[] byRes;
}
//éè¿è·åDVRçç½ç»ç¶æï¼åä½bps
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DEVICE_NET_USING_INFO
{
public uint dwSize; //ç»æä½å¤§å°
public uint dwPreview; //é¢è§
public uint dwPlayback; //åæ¾
public uint dwIPCModule; //IPCæ¥å
¥
public uint dwNetDiskRW; //ç½ç读å
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 32, ArraySubType = UnmanagedType.I1)]
public byte[] res;
}
//éè¿DVR设置å端IPCçIPå°å
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_IPC_NETCFG
{
public uint dwSize; //ç»æä½å¤§å°
public NET_DVR_IPADDR struIP; //IPCçIPå°å
public ushort wPort; //IPCç端å£
[MarshalAsAttribute(UnmanagedType.ByValTStr, SizeConst = 126)]
public string res;
}
//ææ¶é´éå®
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_TIME_LOCK
{
public uint dwSize; //ç»æä½å¤§å°
public NET_DVR_TIME strBeginTime;
public NET_DVR_TIME strEndTime;
public uint dwChannel; //ééå·, 0xff表示ææéé
public uint dwRecordType; //å½åç±»å: 0xffffffffï¼å
¨é¨ï¼0ï¼å®æ¶å½åï¼1-移å¨ä¾¦æµï¼2ï¼æ¥è¦è§¦åï¼3-æ¥è¦è§¦åæ移å¨ä¾¦æµï¼4-æ¥è¦è§¦åå移å¨ä¾¦æµï¼5-å½ä»¤è§¦åï¼6-æå¨å½åï¼7-æºè½å½å(åæ件æ¥æ¾)
public uint dwLockDuration; //éå®æç»æ¶é´,åä½ç§,0xffffffff表示永ä¹
éå®
public NET_DVR_TIME_EX strUnlockTimePoint; //å éæ¶ææï¼å½dwLockDurationä¸ä¸ºæ°¸ä¹
éå®æ¶ï¼éå®æç»çæ¶é´å°æ¤æ¶é´ç¹å°±èªå¨è§£é
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 4, ArraySubType = UnmanagedType.I1)]
public byte[] byRes;
}
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_LOCK_RETURN
{
public uint dwSize; //ç»æä½å¤§å°
public NET_DVR_TIME strBeginTime;
public NET_DVR_TIME strEndTime;
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 20, ArraySubType = UnmanagedType.I1)]
public byte[] byRes;
}
//67DVS
//è¯ä¹¦ä¸è½½ç±»å
public enum NET_SDK_UPLOAD_TYPE
{
UPGRADE_CERT_FILE = 0,
UPLOAD_CERT_FILE = 1,
TRIAL_CERT_FILE = 2,
CONFIGURATION_FILE = 3
}
public enum NET_SDK_DOWNLOAD_TYPE
{
NET_SDK_DOWNLOAD_CERT = 0, //ä¸è½½è¯ä¹¦
NET_SDK_DOWNLOAD_IPC_CFG_FILE = 1,//ä¸è½½IPCé
ç½®æ件
NET_SDK_DOWNLOAD_BASELINE_SCENE_PIC = 2, //ä¸è½½åºååºæ¯å¾ç
NET_SDK_DOWNLOAD_VQD_ALARM_PIC = 3, //ä¸è½½VQDæ¥è¦å¾ç
NET_SDK_DOWNLOAD_CONFIGURATION_FILE=4 //ä¸è½½é
ç½®æ件
}
//ä¸è½½ç¶æ
public enum NET_SDK_DOWNLOAD_STATUS
{
NET_SDK_DOWNLOAD_STATUS_SUCCESS = 1, //ä¸è½½æå
NET_SDK_DOWNLOAD_STATUS_PROCESSING, //æ£å¨ä¸è½½
NET_SDK_DOWNLOAD_STATUS_FAILED, //ä¸è½½å¤±è´¥
NET_SDK_DOWNLOAD_STATUS_UNKOWN_ERROR //æªç¥é误
}
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_BONJOUR_CFG
{
public uint dwSize; // ç»æä½å¤§å°
public byte byEnableBonjour; // Bonjourä½¿è½ 0 ï¼å¼å¯ 1ï¼å
³é
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 3, ArraySubType = UnmanagedType.I1)]
public byte[] byRes1;
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_DOMAIN_NAME, ArraySubType = UnmanagedType.I1)]
public byte[] byFriendlyName; // æå¡å
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 128, ArraySubType = UnmanagedType.I1)]
public byte[] byRes2;
}
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_SOCKS_CFG
{
public uint dwSize; // ç»æä½å¤§å°
public byte byEnableSocks; // ä½¿è½ 0ï¼å
³é 1ï¼å¼å¯
public byte byVersion; // SOCKSçæ¬ 4ï¼SOCKS4 5ï¼SOCKS5
public ushort wProxyPort; // 代ç端å£ï¼é»è®¤1080
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_DOMAIN_NAME, ArraySubType = UnmanagedType.I1)]
public byte[] byProxyaddr; // 代çIPå°åï¼å¯ä»¥æ¯åå
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_DOMAIN_NAME, ArraySubType = UnmanagedType.I1)]
public byte[] byUserName; // ç¨æ·å SOCKSæç¨
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = NAME_LEN, ArraySubType = UnmanagedType.I1)]
public byte[] byPassword; // å¯ç SOCKS5æç¨
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_LOCAL_ADDR_LEN, ArraySubType = UnmanagedType.I1)]
public byte[] byLocalAddr; //ä¸ä½¿ç¨socks代ççç½æ®µï¼æ ¼å¼ä¸º"ip/netmask;ip/netmask;â¦"
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 128, ArraySubType = UnmanagedType.I1)]
public byte[] byRes;
}
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_QOS_CFG
{
public uint dwSize;
public byte byManageDscp; // 管çæ°æ®çDSCPå¼ [0-63]
public byte byAlarmDscp; // æ¥è¦æ°æ®çDSCPå¼ [0-63]
public byte byVideoDscp; // è§é¢æ°æ®çDSCPå¼ [0-63]ï¼byFlag为0æ¶ï¼è¡¨ç¤ºé³è§é¢
public byte byAudioDscp; // é³é¢æ°æ®çDSCPå¼ [0-63]ï¼byFlag为1æ¶ææ
public byte byFlag; // 0ï¼é³è§é¢åä¸ï¼1ï¼é³è§é¢åå¼
public byte byEnable;
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 126, ArraySubType = UnmanagedType.I1)]
public byte[] byRes;
}
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_HTTPS_CFG
{
public uint dwSize;
public ushort wHttpsPort; // HTTPS端å£
public byte byEnable; // ä½¿è½ 0ï¼å
³é 1ï¼å¼å¯
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 125, ArraySubType = UnmanagedType.I1)]
public byte[] byRes;
}
//è¯ä¹¦ç¸å
³
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_CERT_NAME
{
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_COUNTRY_NAME_LEN, ArraySubType = UnmanagedType.I1)]
public byte[] byCountry; //å½å®¶ä»£å· CNç
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_DOMAIN_NAME, ArraySubType = UnmanagedType.I1)]
public byte[] byState; //æ´²æç
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_DOMAIN_NAME, ArraySubType = UnmanagedType.I1)]
public byte[] byLocality; //å°åº
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_DOMAIN_NAME, ArraySubType = UnmanagedType.I1)]
public byte[] byOrganization; //ç»ç»
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_DOMAIN_NAME, ArraySubType = UnmanagedType.I1)]
public byte[] byUnit; //åä½
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_DOMAIN_NAME, ArraySubType = UnmanagedType.I1)]
public byte[] byCommonName;
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_DOMAIN_NAME, ArraySubType = UnmanagedType.I1)]
public byte[] byEmail;
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 128, ArraySubType = UnmanagedType.I1)]
public byte[] byRes;
}
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_CERT_PARAM
{
public uint dwSize;
public ushort wCertFunc; //è¯ä¹¦ç§ç±»ï¼0-802.1x,1-HTTPS
public ushort wCertType; //è¯ä¹¦ç±»åï¼0-CAï¼1-Certificate,2-ç§é¥æ件
public byte byFileType; //è¯ä¹¦æ件类åï¼0-PEM,1-PFX
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 35, ArraySubType = UnmanagedType.I1)]
public byte[] byRes;
}
public const int UPLOAD_CERTIFICATE = 1; //ä¸ä¼ è¯ä¹¦
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_CERT_INFO
{
public uint dwSize;
public NET_DVR_CERT_PARAM struCertParam; //è¯ä¹¦åæ°
public uint dwValidDays; //ææ天æ°ï¼ç±»å为èªç¾åæ¶ææ
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = NAME_LEN, ArraySubType = UnmanagedType.I1)]
public byte[] byPasswd; //ç§é¥å¯ç
public NET_DVR_CERT_NAME struCertName; // è¯ä¹¦å称
public NET_DVR_CERT_NAME struIssuerName; // è¯ä¹¦åè¡è
å称ï¼èªç¾åè¯ä¹¦ä¿¡æ¯è·åæ¶ææï¼
public NET_DVR_TIME_EX struBeginTime; //è¯ä¹¦å建æ¶é´ï¼èªç¾åè¯ä¹¦ä¿¡æ¯è·åæ¶ææï¼
public NET_DVR_TIME_EX struEndTime; //è¯ä¹¦æªæ¢æ¶é´ï¼èªç¾åè¯ä¹¦ä¿¡æ¯è·åæ¶ææï¼
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = NAME_LEN, ArraySubType = UnmanagedType.I1)]
public byte[] serialNumber; //è¯ä¹¦æ è¯ç ï¼èªç¾åè¯ä¹¦ä¿¡æ¯è·åæ¶ææï¼
public byte byVersion;
public byte byKeyAlgorithm; //å å¯ç±»å 0-RSA 1-DSA
public byte byKeyLen; //å å¯é¿åº¦ 0-512 1-1024ã 2-2048
public byte bySignatureAlgorithm; //ç¾åç®æ³ç±»åï¼èªç¾åè¯ä¹¦ä¿¡æ¯è·åæ¶ææï¼
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 128, ArraySubType = UnmanagedType.I1)]
public byte[] byRes;
}
//channel record status
//***ééå½åç¶æ*****//
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_CHANS_RECORD_STATUS
{
public byte byValid; //æ¯å¦ææ
public byte byRecord; /*(åªè¯»)å½åç±»å, æä½è¡¨ç¤º:0: ä¸å¨å½åï¼1ï¼å¨å½å 2-空é²
3-æ è¿æ¥ 4-æ è¾å
¥è§é¢ 5-æªå è½½ 6-åæ¡£ä¸
7-åä¼ ä¸ 8-ç¨æ·åæå¯ç é 9-æªéªè¯
10-åæ¡£ä¸åå½åä¸ 11-å½ååä¼ ä¸åå½åä¸*/
public ushort wChannelNO; //ééå·
public uint dwRelatedHD; //å
³èç£ç
public byte byOffLineRecord; //æç½å½ååè½ 0-å
³é 1-å¼å¯
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 7, ArraySubType = UnmanagedType.I1)]
public byte[] byRes; //ä¿çåè
}
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_IP_ALARM_GROUP_NUM
{
public uint dwSize;
public uint dwIPAlarmInGroup; //IPééæ¥è¦è¾å
¥ç»æ°
public uint dwIPAlarmInNum; //IPééæ¥è¦è¾å
¥ä¸ªæ°
public uint dwIPAlarmOutGroup; //IPééæ¥è¦è¾åºç»æ°
public uint dwIPAlarmOutNum; //IPééæ¥è¦è¾åºä¸ªæ°
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 64, ArraySubType = UnmanagedType.I1)]
public byte[] byRes;
}
//****NVR end***//
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_CHAN_GROUP_RECORD_STATUS
{
public uint dwSize; //ç»æä½å¤§å°
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_CHANNUM_V30, ArraySubType = UnmanagedType.Struct)]
public NET_DVR_CHANS_RECORD_STATUS[] struChanStatus; //ä¸ç»64个
}
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_RECTCFG
{
public ushort wXCoordinate; /*ç©å½¢å·¦ä¸è§èµ·å§ç¹Xåæ */
public ushort wYCoordinate; /*ç©å½¢å·¦ä¸è§Yåæ */
public ushort wWidth; /*ç©å½¢å®½åº¦*/
public ushort wHeight; /*ç©å½¢é«åº¦*/
}
/*çªå£ä¿¡æ¯*/
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_WINCFG
{
public uint dwSize;
public byte byVaild;
public byte byInputIdx; /*è¾å
¥æºç´¢å¼*/
public byte byLayerIdx; /*å¾å±ï¼0为æåºå±*/
public byte byTransparency; //éæ度ï¼0ï½100
public NET_DVR_RECTCFG struWin;//ç®ççªå£(ç¸å¯¹æ¾ç¤ºå¢)
public ushort wScreenHeight;//大å±é«
public ushort wScreenWidth;//大å±å®½
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 20, ArraySubType = UnmanagedType.I1)]
public byte[] byRes;
}
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_ALLWINCFG
{
public uint dwSize;
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_LAYERNUMS, ArraySubType = UnmanagedType.Struct)]
public NET_DVR_WINCFG[] struWinCfg;
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 24, ArraySubType = UnmanagedType.I1)]
public byte[] byRes2;
}
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_SCREENZOOM
{
public uint dwSize;
public uint dwScreenNum;//大å±å·
public NET_DVR_POINT_FRAME struPointFrame;
public byte byLayer;//å¾å±å·
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 11, ArraySubType = UnmanagedType.I1)]
public byte[] byRes;
}
//2011-04-18
/*æåæºä¿¡æ¯,æå¤9999个ï¼ä»1å¼å§ */
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_MATRIX_CAMERAINFO
{
public uint dwGlobalCamId; /* camçå
¨å±ç¼å·*/
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = NAME_LEN, ArraySubType = UnmanagedType.I1)]
public byte[] sCamName; /*camçå称*/
public uint dwMatrixId; /*cam对åºç©éµçç¼å·*/
public uint dwLocCamId; /*cam对åºç©éµçå
é¨ç¼å·*/
public byte byValid; /*æ¯å¦ææï¼0-å¦ï¼1-æ¯*/
public byte byPtzCtrl; /* æ¯å¦å¯æ§ï¼0-å¦ï¼1-æ¯*/
public byte byUseType; //*使ç¨ç±»åï¼0-ä¸ä½ä¸ºå¹²çº¿ä½¿ç¨ï¼1-BNCï¼2-SP3,3-V6å
纤ï¼4-å
¶ä»å
纤*/
public byte byUsedByTrunk;//å½å使ç¨ç¶æï¼0-没æ被使ç¨ï¼1-被干线使ç¨
public byte byTrunkReq; /*æåæºå辨ç,以D1为åä½ï¼1 - 1个D1ï¼2- 2个D1ï¼ä½ä¸ºå¹²çº¿ä½¿ç¨æ¶ï¼æçæ¯å¹²çº¿ç带宽*/
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 3, ArraySubType = UnmanagedType.I1)]
public byte[] byRes1;
public NET_DVR_TIME struInstallTime;//å®è£
æ¶é´
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = NAME_LEN, ArraySubType = UnmanagedType.I1)]
public byte[] sPurpose;/*ç¨éæè¿°*/
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 20, ArraySubType = UnmanagedType.I1)]
public byte[] byRes2;
}
/*çè§å¨ä¿¡æ¯ï¼æå¤2048个*/
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_MATRIX_MONITORINFO
{
public uint dwGloalMonId; /*mon çç»ä¸ç¼å·*/
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = NAME_LEN, ArraySubType = UnmanagedType.I1)]
public byte[] sMonName;
public uint dwMatrixId; /*monæå¨ç©éµçç¼å·*/
public uint dwLocalMonId; /*monçå
é¨ç¼å·*/
public byte byValid; /*æ¯å¦ææï¼0-å¦ï¼1-æ¯*/
public byte byTrunkType; /*使ç¨ç±»åï¼0-ä¸ä½ä¸ºå¹²çº¿ä½¿ç¨ï¼1-BNCï¼2-SP3,3-V6å
纤ï¼4-å
¶ä»å
纤*/
public byte byUsedByTrunk;//å½å使ç¨ç¶æï¼0-没æ被使ç¨ï¼1-被干线使ç¨
public byte byTrunkReq; /*å辨ç, 以D1为åä½ï¼1- 1个D1ï¼2- 2个D1ï¼ä½ä¸ºå¹²çº¿ä½¿ç¨æ¶ï¼æçæ¯å¹²çº¿ç带宽*/
public NET_DVR_TIME struInstallTime;//å®è£
æ¶é´
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = NAME_LEN, ArraySubType = UnmanagedType.I1)]
public byte[] sPurpose;/*ç¨éæè¿°*/
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 20, ArraySubType = UnmanagedType.I1)]
public byte[] byRes;
}
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_MATRIX_DIGITALMATRIX
{
public NET_DVR_IPADDR struAddress; /*设å¤ä¸ºæ°å设å¤æ¶çIPä¿¡æ¯*/
public ushort wPort;
public byte byNicNum; /*0 - eth0, 1 - eth1, èèåç½å£å¦ä½éä¿¡å å
¥ç»å®çç½å£*/
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 69, ArraySubType = UnmanagedType.I1)]
public byte[] byRes;
}
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_MATRIX_ANALOGMATRIX
{
public byte bySerPortNum; /*è¿æ¥ç串å£å·*/
public byte byMatrixSerPortType;/* ç©éµæ¥å
¥ç½å
³ç串å£ä¸æ¨¡æç©éµçé®çå£(é®çåè®®)è¿æ¥è¿æ¯ä¸ç©éµéä¿¡å£ï¼ç©éµåè®®ï¼è¿æ¥ ï¼0 --- ç©éµåè®®éè®¯å£ 1 --- é®çé讯å£*/
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 2, ArraySubType = UnmanagedType.I1)]
public byte[] byRes1;
public NET_DVR_SINGLE_RS232 struRS232; //232串å£åæ°
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 200, ArraySubType = UnmanagedType.I1)]
public byte[] byRes2;
}
[StructLayoutAttribute(LayoutKind.Explicit)]
public struct NET_MATRIX_UNION
{
[FieldOffsetAttribute(0)]
public NET_MATRIX_DIGITALMATRIX struDigitalMatrix;
[FieldOffsetAttribute(0)]
public NET_MATRIX_ANALOGMATRIX struAnalogMatrix;
}
/*ç©éµé
置信æ¯ï¼æå¤20个*/
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_MATRIX_MATRIXINFO
{
public uint dwSize;
public uint dwMatrixId; /*ç©éµç¼å·*/
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = NAME_LEN, ArraySubType = UnmanagedType.I1)]
public byte[] sDevName;
public byte byCtrlType; /*æé讯æ¹å¼æ¯ä¸²å£éä¿¡, è¿æ¯ç½ç»éä¿¡*/
public byte byProtocolType;/*设置éä¿¡æ§å¶åè®®*/
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 6, ArraySubType = UnmanagedType.I1)]
public byte[] byRes1; /*é¢ç*/
public NET_MATRIX_UNION struMatrixUnion;
public uint dwMaxPortsIn; /*ç©éµè¾å
¥æ°*/
public uint dwMaxPortsOut;/*ç©éµè¾åºæ°*/
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = NAME_LEN, ArraySubType = UnmanagedType.I1)]
public byte[] sUserName; /*ç»å½ç¨æ·å*/
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = PASSWD_LEN, ArraySubType = UnmanagedType.I1)]
public byte[] sPassword; /*ç»å½å¯ç */
public NET_DVR_TIME struInstallTime;//å®è£
æ¶é´
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = NAME_LEN, ArraySubType = UnmanagedType.I1)]
public byte[] sPurpose;/*ç¨éæè¿°*/
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 20, ArraySubType = UnmanagedType.I1)]
public byte[] byRes2; /*é¢ç*/
}
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_MATRIXLIST
{
public uint dwSize;
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 12, ArraySubType = UnmanagedType.I1)]
public byte[] byRes;
public uint dwMatrixNum;//设å¤è¿åçç©éµæ°é
public IntPtr pBuffer;//ç©éµä¿¡æ¯ç¼å²åº
public uint dwBufLen;//æåé
æéé¿åº¦ï¼è¾å
¥åæ°
}
/*串å£é
置信æ¯*/
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_MATRIX_UARTPARAM
{
public uint dwSize;
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = NAME_LEN, ArraySubType = UnmanagedType.I1)]
public byte[] byPortName;
public ushort wUserId; /*ç¨æ·ç¼å·ï¼å½è¿æ¥è®¾å¤ä¸ºé®çæ¶ï¼ç»å®ä¸ä¸ªç¨æ·ï¼ç¨äºæé管ç*/
public byte byPortType; /*串å£ç±»åï¼ä¸ç§0-RS232/1-RS485/2-RS422*/
public byte byFuncType; /*串å£è¿æ¥ç设å¤çç±»å0-空é²ï¼1-é®çï¼2-ç¨ä½éæéé(485串å£ä¸å¯é
ç½®æéæéé),3-模æç©éµ*/
public byte byProtocolType; /*串å£æ¯æçå议类å, å½è¿æ¥é®ç设å¤æ¶éè¦è¯¥ä¿¡æ¯,è·åé®çæ¯æåè®®çç¼å·åæ述符*/
public byte byBaudRate;
public byte byDataBits;
public byte byStopBits; /*åæ¢ä½*/
public byte byParity; /*æ ¡éª*/
public byte byFlowCtrl; /*æµæ§ï¼è½¯ä»¶æµæ§ï¼æ æµæ§*/
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 22, ArraySubType = UnmanagedType.I1)]
public byte[] byRes; /*é¢ç*/
}
//æå¤256个ç¨æ·ï¼1ï½256
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_MATRIX_USERPARAM
{
public uint dwSize;
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = NAME_LEN, ArraySubType = UnmanagedType.I1)]
public byte[] sUserName;
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = PASSWD_LEN, ArraySubType = UnmanagedType.I1)]
public byte[] sPassword;
public byte byRole;/*ç¨æ·è§è²:0-管çå,1-æä½åï¼åªæä¸ä¸ªç³»ç»ç®¡çåï¼255个æä½å*/
public byte byLevel; /*ç»ä¸çº§å«ï¼ç¨äºæä½çº§å«ç®¡ç,1- 255*/
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 18, ArraySubType = UnmanagedType.I1)]
public byte[] byRes;
}
//æå¤255个èµæºç»
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_MATRIX_RESOURSEGROUPPARAM
{
public uint dwSize;
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = NAME_LEN, ArraySubType = UnmanagedType.I1)]
public byte[] byGroupName;
public byte byGroupType;/*0-æåæºCAMç»ï¼1-çè§å¨MONç»*/
public byte byRes1;
public ushort wMemNum;
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 512, ArraySubType = UnmanagedType.U4)]
public uint[] dwGlobalId;
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 20, ArraySubType = UnmanagedType.I1)]
public byte[] byRes2;
}
//æå¤255个ç¨æ·ç»
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_MATRIX_USERGROUPPARAM
{
public uint dwSize;
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = NAME_LEN, ArraySubType = UnmanagedType.I1)]
public byte[] sGroupName;
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 255, ArraySubType = UnmanagedType.U2)]
public ushort[] wUserMember; /*å
å«çç¨æ·æå*/
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 255, ArraySubType = UnmanagedType.U2)]
public ushort[] wResorceGroupMember; /*å
å«çèµæºç»æå*/
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 32, ArraySubType = UnmanagedType.I1)]
public byte[] byPermission;//æéï¼æ°ç»0-ptzæéãåæ¢æéãæ¥è¯¢æé
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 20, ArraySubType = UnmanagedType.I1)]
public byte[] byRes;
}
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_MATRIX_TRUNKPARAM
{
public uint dwSize;
public uint dwTrunkId;
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = NAME_LEN, ArraySubType = UnmanagedType.I1)]
public byte[] sTrunkName;
public uint dwSrcMonId;
public uint dwDstCamId;
public byte byTrunkType; /*使ç¨ç±»å 1-BNCï¼2-SP3å
纤é«æ¸
ï¼3-SP3å
纤D1ï¼ 4-V6å
纤ï¼5-å
¶ä»å
纤*/
public byte byAbility; /*表示å
纤ç带宽ï¼å¯ä»¥ä¼ è¾å è·¯*/
public byte bySubChan; /*é对å
纤干线èè¨ï¼è¡¨ç¤ºåééå·*/
public byte byLevel; /* å¹²çº¿çº§å« 1-255*/
public ushort wReserveUserID; //é¢ççç¨æ·IDï¼ 1~256 ï¼0表示éæ¾é¢ç
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 18, ArraySubType = UnmanagedType.I1)]
public byte[] byRes;
}
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_MATRIX_TRUNKLIST
{
public uint dwSize;
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 12, ArraySubType = UnmanagedType.I1)]
public byte[] byRes;
public uint dwTrunkNum;//设å¤è¿åç干线æ°é
public IntPtr pBuffer;//干线信æ¯ç¼å²åº
public uint dwBufLen;//æåé
æéé¿åº¦ï¼è¾å
¥åæ°
}
public const int MATRIX_PROTOCOL_NUM = 20; //æ¯æçæ大ç©éµåè®®æ°
public const int KEYBOARD_PROTOCOL_NUM = 20; //æ¯æçæ大é®çåè®®æ°
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_PROTO_TYPE_EX
{
public ushort wType; /*ipcåè®®å¼*/
public ushort wCommunitionType; /*0ï¼æ¨¡æ 1ï¼æ°å 2ï¼å
¼å®¹æ¨¡æãæ°å*/
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = DESC_LEN, ArraySubType = UnmanagedType.I1)]
public byte[] byDescribe; /*åè®®æè¿°å段*/
}
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_MATRIXMANAGE_ABIILITY
{
public uint dwSize;
public uint dwMaxCameraNum;//æ大Cameraæ°é
public uint dwMaxMonitorNum;//æ大çè§å¨æ°é
public ushort wMaxMatrixNum;//æ大ç©éµæ°é
public ushort wMaxSerialNum;//串å£æ°é
public ushort wMaxUser;//æ大ç¨æ·æ°
public ushort wMaxResourceArrayNum;//æ大èµæºç»æ°
public ushort wMaxUserArrayNum;//æ大ç¨æ·ç»æ°
public ushort wMaxTrunkNum;//æ大干线æ°
public byte nStartUserNum;//èµ·å§ç¨æ·å·
public byte nStartUserGroupNum;//èµ·å§ç¨æ·ç»å·
public byte nStartResourceGroupNum;//èµ·å§èµæºç»å·
public byte nStartSerialNum;//èµ·å§ä¸²å£å·
public uint dwMatrixProtoNum; /*ææçç©éµåè®®æ°ç®ï¼ä»0å¼å§*/
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MATRIX_PROTOCOL_NUM, ArraySubType = UnmanagedType.Struct)]
public NET_DVR_PROTO_TYPE_EX[] struMatrixProto;/*æ大åè®®å表é¿åº¦*/
public uint dwKeyBoardProtoNum; /*ææçé®çåè®®æ°ç®ï¼ä»0å¼å§*/
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MATRIX_PROTOCOL_NUM, ArraySubType = UnmanagedType.Struct)]
public NET_DVR_PROTO_TYPE_EX[] struKeyBoardProto;/*æ大åè®®å表é¿åº¦*/
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 32, ArraySubType = UnmanagedType.I1)]
public byte[] byRes;
}
//人è¸ææè§å(åæ¡)
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_VCA_SINGLE_FACESNAPCFG
{
public byte byActive; //æ¯å¦æ¿æ´»è§åï¼0-å¦ï¼1-æ¯
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 3, ArraySubType = UnmanagedType.I1)]
public byte[] byRes; //ä¿ç
public NET_VCA_SIZE_FILTER struSizeFilter; //尺寸è¿æ»¤å¨
public NET_VCA_POLYGON struVcaPolygon; //人è¸è¯å«åºå
}
//人è¸ææè§ååæ°
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_VCA_FACESNAPCFG
{
public uint dwSize;
public byte bySnapTime; //å个ç®æ 人è¸çææ次æ°0-10
public byte bySnapInterval; //ææé´éï¼åä½ï¼å¸§
public byte bySnapThreshold; //ææéå¼ï¼0-100
public byte byGenerateRate; //ç®æ çæé度,èå´[1, 5]
public byte bySensitive; //ç®æ æ£æµçµæ度ï¼èå´[1, 5]
public byte byReferenceBright; //2012-3-27åè亮度[0,100]
public byte byMatchType; //2012-5-3æ¯å¯¹æ¥è¦æ¨¡å¼ï¼0-ç®æ æ¶å¤±åæ¥è¦ï¼1-å®æ¶æ¥è¦
public byte byMatchThreshold; //2012-5-3å®æ¶æ¯å¯¹éå¼ï¼0~100
public NET_DVR_JPEGPARA struPictureParam; //å¾çè§æ ¼ç»æ
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_RULE_NUM, ArraySubType = UnmanagedType.Struct)]
public NET_VCA_SINGLE_FACESNAPCFG[] struRule; //人è¸ææè§å
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 100, ArraySubType = UnmanagedType.I1)]
public byte[] byRes2;
}
//人è¸ææç»ææ¥è¦ä¸ä¼
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_VCA_FACESNAP_RESULT
{
public uint dwSize;
public uint dwRelativeTime;
public uint dwAbsTime;
public uint dwFacePicID;
public uint dwFaceScore;
public NET_VCA_TARGET_INFO struTargetInfo;
public NET_VCA_RECT struRect;
public NET_VCA_DEV_INFO struDevInfo;
public uint dwFacePicLen;
public uint dwBackgroundPicLen;
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 60, ArraySubType = UnmanagedType.I1)]
public byte[] byRes;//ä¿ç
public IntPtr pBuffer1;//æå人è¸åå¾çå¾çæ°æ®
public IntPtr pBuffer2;//èæ¯å¾çå¾çæ°æ®ï¼ä¿çï¼éè¿æ¥æ¾èæ¯å¾æ¥å£å¯ä»¥è·åèæ¯å¾ï¼
}
//èç¦ä¾¦æµç»æ
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_DEFOCUS_ALARM
{
public uint dwSize; /*ç»æé¿åº¦*/
public NET_VCA_DEV_INFO struDevInfo;/*设å¤ä¿¡æ¯*/
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 64, ArraySubType = UnmanagedType.I1)]
public byte[] byRes; // ä¿çåè
}
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_AUDIOEXCEPTION_ALARM
{
public uint dwSize; /*ç»æé¿åº¦*/
public byte byAlarmType;//æ¥è¦ç±»åï¼1-é³é¢è¾å
¥å¼å¸¸ï¼2-é³é¢è¾å
¥çªå
public byte byRes1;
public ushort wAudioDecibel;//声é³å¼ºåº¦ï¼é³é¢è¾å
¥çªåæ¶ç¨å°ï¼
public NET_VCA_DEV_INFO struDevInfo;/*设å¤ä¿¡æ¯*/
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 64, ArraySubType = UnmanagedType.I1)]
public byte[] byRes; // ä¿çåè
}
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_BUTTON_DOWN_EXCEPTION_ALARM
{
public uint dwSize; /*ç»æé¿åº¦*/
public NET_VCA_DEV_INFO struDevInfo;/*设å¤ä¿¡æ¯*/
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 64, ArraySubType = UnmanagedType.I1)]
public byte[] byRes; // ä¿çåè
}
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_VCA_FD_IMAGE_CFG
{
public uint dwWidth; //ç°åº¦å¾åæ°æ®å®½åº¦
public uint dwHeight; //ç°åº¦å¾åé«åº¦
public uint dwImageLen; //ç°åº¦å¾åæ°æ®é¿åº¦
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 20, ArraySubType = UnmanagedType.I1)]
public byte[] byRes; //ä¿ç
public IntPtr pImage; //ç°åº¦å¾åæ°æ®
}
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_VCA_FD_PROCIMG_CFG
{
public uint dwSize; //ç»æ大å°
public byte byEnable; //æ¯å¦æ¿æ´»è§å;
public byte bySensitivity; //æ£æµçµæ度ï¼[0,5]
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 22, ArraySubType = UnmanagedType.I1)]
public byte[] byRes1; //ä¿çåè
public NET_VCA_SIZE_FILTER struSizeFilter; //尺寸è¿æ»¤å¨
public NET_VCA_POLYGON struPolygon; //å¤è¾¹å½¢
public NET_VCA_FD_IMAGE_CFG struFDImage; //å¾çä¿¡æ¯
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 20, ArraySubType = UnmanagedType.I1)]
public byte[] byRes2; //ä¿ç
}
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_VCA_SUB_PROCIMG
{
public uint dwImageLen; //å¾çæ°æ®é¿åº¦
public uint dwFaceScore; //人è¸è¯å,0-100
public NET_VCA_RECT struVcaRect; //人è¸åå¾åºå
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 20, ArraySubType = UnmanagedType.I1)]
public byte[] byRes; //ä¿ç
public IntPtr pImage; //å¾çæ°æ®
}
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_VCA_FD_PROCIMG_RESULT
{
public uint dwSize; //ç»æ大å°
public uint dwImageId; //大å¾ID
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 20, ArraySubType = UnmanagedType.I1)]
public byte[] byRes; //ä¿ç
public uint dwSubImageNum; //人è¸åå¾å¼ æ°
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_TARGET_NUM, ArraySubType = UnmanagedType.Struct)]
public NET_VCA_SUB_PROCIMG[] struProcImg; //åå¼ åå¾ä¿¡æ¯
}
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_VCA_PICMODEL_RESULT
{
public uint dwImageLen; //å¾çæ°æ®é¿åº¦
public uint dwModelLen; //模åæ°æ®é¿åº¦
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 20, ArraySubType = UnmanagedType.I1)]
public byte[] byRes; //ä¿ç
public IntPtr pImage; //人è¸å¾çæ°æ®æé
public IntPtr pModel; //模åæ°æ®æé
}
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_VCA_REGISTER_PIC
{
public uint dwImageID; //大å¾ID
public uint dwFaceScore; //人è¸è¯å,0-100
public NET_VCA_RECT struVcaRect; //人è¸åå¾åºå
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 20, ArraySubType = UnmanagedType.I1)]
public byte[] byRes; //ä¿ç
}
//ç±è´¯åæ°ç»æä½
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_AREAINFOCFG
{
public ushort wNationalityID;//å½ç±
public ushort wProvinceID;//ç
public ushort wCityID;//å¸
public ushort wCountyID;//å¿
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 4, ArraySubType = UnmanagedType.I1)]
public byte[] byRes;//ä¿ç
}
//人åä¿¡æ¯ç»æä½
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_VCA_HUMAN_ATTRIBUTE
{
public byte bySex;//æ§å«ï¼0-ç·ï¼1-女
public byte byCertificateType;//è¯ä»¶ç±»åï¼0-身份è¯ï¼1-è¦å®è¯
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_HUMAN_BIRTHDATE_LEN, ArraySubType = UnmanagedType.I1)]
public byte[] byBirthDate;//åºçå¹´æï¼å¦ï¼201106
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = NAME_LEN, ArraySubType = UnmanagedType.I1)]
public byte[] byName; //å§å
public NET_DVR_AREAINFOCFG struNativePlace;//ç±è´¯åæ°
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = NAME_LEN, ArraySubType = UnmanagedType.I1)]
public byte[] byCertificateNumber; //è¯ä»¶å·
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 20, ArraySubType = UnmanagedType.I1)]
public byte[] byRes2;//ä¿ç
}
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_VCA_HUMANATTRIBUTE_COND
{
public byte bySex; //æ§å«ï¼0-ä¸å¯ç¨ï¼1-ç·ï¼2-女
public byte byCertificateType; //è¯ä»¶ç±»åï¼0-ä¸å¯ç¨ï¼1-身份è¯ï¼2-è¦å®è¯
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_HUMAN_BIRTHDATE_LEN, ArraySubType = UnmanagedType.I1)]
public byte[] byStartBirthDate; //èµ·å§åºçå¹´æï¼å¦ï¼201106
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_HUMAN_BIRTHDATE_LEN, ArraySubType = UnmanagedType.I1)]
public byte[] byEndBirthDate; //æªæ¢åºçå¹´æï¼å¦201106
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = NAME_LEN, ArraySubType = UnmanagedType.I1)]
public byte[] byName; //å§å
public NET_DVR_AREAINFOCFG struNativePlace; //ç±è´¯åæ°
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = NAME_LEN, ArraySubType = UnmanagedType.I1)]
public byte[] byCertificateNumber; //è¯ä»¶å·
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 20, ArraySubType = UnmanagedType.I1)]
public byte[] byRes;
}
//é»ååä¿¡æ¯
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_VCA_BLACKLIST_INFO
{
public uint dwSize;//ç»æ大å°
public uint dwRegisterID;//åå注åIDå·ï¼åªè¯»ï¼
public uint dwGroupNo;//åç»å·
public byte byType;//é»ç½ååæ å¿ï¼0-å
¨é¨ï¼1-ç½ååï¼2-é»åå
public byte byLevel;//é»ååç级ï¼0-å
¨é¨ï¼1-ä½ï¼2-ä¸ï¼3-é«
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 2, ArraySubType = UnmanagedType.I1)]
public byte[] byRes1;//ä¿ç
public NET_VCA_HUMAN_ATTRIBUTE struAttribute;//人åä¿¡æ¯
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = NAME_LEN, ArraySubType = UnmanagedType.I1)]
public byte[] byRemark;//å¤æ³¨ä¿¡æ¯
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 20, ArraySubType = UnmanagedType.I1)]
public byte[] byRes2;//ä¿ç
}
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_VCA_BLACKLIST_PARA
{
public uint dwSize; //ç»æ大å°
public NET_VCA_BLACKLIST_INFO struBlackListInfo; //é»åååºæ¬åæ°
public uint dwRegisterPicNum; //é»ååå¾ä¸ªæ°
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_HUMAN_PICTURE_NUM, ArraySubType = UnmanagedType.Struct)]
public NET_VCA_PICMODEL_RESULT[] struRegisterPic; //é»ååå¾çä¿¡æ¯
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 40, ArraySubType = UnmanagedType.I1)]
public byte[] byRes; //ä¿ç
}
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_VCA_BLACKLIST_COND
{
public Int32 lChannel; //ééå·
public uint dwGroupNo; //åç»å·
public byte byType; //é»ç½ååæ å¿ï¼0-å
¨é¨ï¼1-ç½ååï¼2-é»åå
public byte byLevel; //é»ååç级ï¼0-å
¨é¨ï¼1-ä½ï¼2-ä¸ï¼3-é«
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 2, ArraySubType = UnmanagedType.I1)]
public byte[] byRes1; //ä¿ç
public NET_VCA_HUMAN_ATTRIBUTE struAttribute; //人åä¿¡æ¯
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 20, ArraySubType = UnmanagedType.I1)]
public byte[] byRes;
}
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_VCA_BLACKLIST_PIC
{
public uint dwSize; //ç»æ大å°
public uint dwFacePicNum; //人è¸å¾ä¸ªæ°
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 20, ArraySubType = UnmanagedType.I1)]
public byte[] byRes; //ä¿ç
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_HUMAN_PICTURE_NUM, ArraySubType = UnmanagedType.Struct)]
public NET_VCA_PICMODEL_RESULT[] struBlackListPic; //åå¼ ç
§çä¿¡æ¯
}
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_VCA_FIND_PICTURECOND
{
public Int32 lChannel;//ééå·
public NET_DVR_TIME struStartTime;//å¼å§æ¶é´
public NET_DVR_TIME struStopTime;//ç»ææ¶é´
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 12, ArraySubType = UnmanagedType.I1)]
public byte[] byRes; //ä¿ç
}
public const int MAX_FACE_PIC_LEN = 6144; //æ大人è¸å¾çæ°æ®é¿åº¦
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_VCA_SUB_SNAPPIC_DATA
{
public uint dwFacePicID; //人è¸å¾ID
public uint dwFacePicLen; //人è¸å¾æ°æ®é¿åº¦
public NET_DVR_TIME struSnapTime; //æææ¶é´
public uint dwSimilarity; //ç¸ä¼¼åº¦
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 16, ArraySubType = UnmanagedType.I1)]
public byte[] byRes; //ä¿ç
[MarshalAsAttribute(UnmanagedType.ByValTStr, SizeConst = MAX_FACE_PIC_LEN)]
public string sPicBuf; //å¾çæ°æ®
}
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_VCA_ADVANCE_FIND
{
public uint dwFacePicID; //人è¸å¾çID
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 36, ArraySubType = UnmanagedType.I1)]
public byte[] byRes;
}
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_VCA_NORMAL_FIND
{
public uint dwImageID; //大å¾ID
public uint dwFaceScore; //人è¸è¯å
public NET_VCA_RECT struVcaRect; //人è¸åå¾åºå
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 20, ArraySubType = UnmanagedType.I1)]
public byte[] byRes;
}
[StructLayoutAttribute(LayoutKind.Explicit)]
public struct NET_VCA_FIND_SNAPPIC_UNION
{
//èåä½å¤§å°ä¸º44åè
[FieldOffsetAttribute(0)]
public NET_VCA_NORMAL_FIND struNormalFind; //æ®éæ£ç´¢
[FieldOffsetAttribute(0)]
public NET_VCA_ADVANCE_FIND struAdvanceFind; //é«çº§æ£ç´¢
}
public enum VCA_FIND_SNAPPIC_TYPE
{
VCA_NORMAL_FIND = 0x00000000, //æ®éæ£ç´¢
VCA_ADVANCE_FIND = 0x00000001 //é«çº§æ£ç´¢
}
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_VCA_FIND_PICTURECOND_ADVANCE
{
public Int32 lChannel;//ééå·
public NET_DVR_TIME struStartTime;//å¼å§æ¶é´
public NET_DVR_TIME struStopTime;//ç»ææ¶é´
public byte byThreshold; //éå¼ï¼0-100
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 23, ArraySubType = UnmanagedType.I1)]
public byte[] byRes; //ä¿ç
public VCA_FIND_SNAPPIC_TYPE dwFindType;//æ£ç´¢ç±»åï¼è¯¦è§VCA_FIND_SNAPPIC_TYPE
public NET_VCA_FIND_SNAPPIC_UNION uFindParam; //æ£ç´¢åæ°
}
//人è¸ææä¿¡æ¯
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_VCA_FACESNAP_INFO_ALARM
{
public uint dwRelativeTime;
public uint dwAbsTime;
public uint dwSnapFacePicID;
public uint dwSnapFacePicLen;
public NET_VCA_DEV_INFO struDevInfo;//人è¸ææä¸ä¼ ä¿¡æ¯
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 20, ArraySubType = UnmanagedType.I1)]
public byte[] byRes;//ä¿ç
public IntPtr pBuffer1;//æåå¾ççæé
}
//é»ååæ¥è¦ä¿¡æ¯
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_VCA_BLACKLIST_INFO_ALARM
{
public NET_VCA_BLACKLIST_INFO struBlackListInfo;
public uint dwBlackListPicLen;
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 20, ArraySubType = UnmanagedType.I1)]
public byte[] byRes;//ä¿ç
public IntPtr pBuffer1;//æåå¾ççæé
}
//é»ååæ¯å¯¹ç»ææ¥è¦ä¸ä¼
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_VCA_FACESNAP_MATCH_ALARM
{
public uint dwSize;
public float fSimilarity;//ç¸ä¼¼åº¦ï¼åå¼èå´ï¼[0.001,1]
public NET_VCA_FACESNAP_INFO_ALARM struSnapInfo;//人è¸ææä¸ä¼ ä¿¡æ¯
public NET_VCA_BLACKLIST_INFO_ALARM struBlackListInfo;//é»ååæ¥è¦ä¿¡æ¯
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 60, ArraySubType = UnmanagedType.I1)]
public byte[] byRes;//ä¿ç
}
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_VCA_BLACKLIST_INFO_ALARM_LOG
{
public NET_VCA_BLACKLIST_INFO struBlackListInfo; //é»åååºæ¬ä¿¡æ¯
public uint dwBlackListPicID; //é»åå人è¸åå¾IDï¼ç¨äºæ¥æ¾å¾ç
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 20, ArraySubType = UnmanagedType.I1)]
public byte[] byRes; // ä¿çåè
}
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_VCA_FACESNAP_INFO_ALARM_LOG
{
public uint dwRelativeTime; // ç¸å¯¹æ¶æ
public uint dwAbsTime; // ç»å¯¹æ¶æ
public uint dwSnapFacePicID; //ææ人è¸å¾ID
public NET_VCA_DEV_INFO struDevInfo; //å端设å¤ä¿¡æ¯
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 20, ArraySubType = UnmanagedType.I1)]
public byte[] byRes; // ä¿çåè
}
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_VCA_FACESNAP_MATCH_ALARM_LOG
{
public uint dwSize; // ç»æ大å°
public float fSimilarity; //ç¸ä¼¼åº¦ï¼[0.001,1]
public NET_VCA_FACESNAP_INFO_ALARM_LOG struSnapInfoLog; //ææä¿¡æ¯
public NET_VCA_BLACKLIST_INFO_ALARM_LOG struBlackListInfoLog; //é»ååä¿¡æ¯
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 60, ArraySubType = UnmanagedType.I1)]
public byte[] byRes; // ä¿çåè
}
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_VCA_FACEMATCH_PICCOND
{
public uint dwSize; // ç»æ大å°
public uint dwSnapFaceID; //ææ人è¸åå¾ID
public uint dwBlackListID; //å¹é
çé»ååID
public uint dwBlackListFaceID; //æ¯å¯¹çé»åå人è¸åå¾ID
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 20, ArraySubType = UnmanagedType.I1)]
public byte[] byRes; // ä¿çåè
}
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_VCA_FACEMATCH_PICTURE
{
public uint dwSize; // ç»æ大å°
public uint dwSnapFaceLen; //ææ人è¸åå¾é¿åº¦
public uint dwBlackListFaceLen; //æ¯å¯¹çé»åå人è¸åå¾é¿åº¦
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 20, ArraySubType = UnmanagedType.I1)]
public byte[] byRes; //ä¿çåè
public IntPtr pSnapFace; //ææ人è¸åå¾çå¾çæ°æ®
public IntPtr pBlackListFace; //æ¯å¯¹çé»åå人è¸åå¾æ°æ®
}
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_VCA_BLACKLIST_FASTREGISTER_PARA
{
public uint dwSize; //ç»æ大å°
public NET_VCA_BLACKLIST_INFO struBlackListInfo; //é»åååºæ¬åæ°
public uint dwImageLen; //å¾åæ°æ®é¿åº¦
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 124, ArraySubType = UnmanagedType.I1)]
public byte[] byRes; //ä¿ç
public IntPtr pImage; //å¾åæ°æ®
}
//å个ååºé
ç½®
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_VCA_SINGLE_PATH
{
public byte byActive; // æ¯å¦å¯ç¨,0-å¦,1-æ¯
public byte byType; //0-åå¨ææï¼1-åå¨é»ååæ¯å¯¹æ¥è¦ï¼2-åå¨ææåé»ååæ¯å¯¹æ¥è¦ï¼0xff-æ æ
public byte bySaveAlarmPic; //æ¯å¦ç¨äºä¿åæç½çæ¥è¦å¾çï¼0-å¦ï¼1-æ¯
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 5, ArraySubType = UnmanagedType.I1)]
public byte[] byRes1; //ä¿ç
public uint dwDiskDriver; //ç符å·ï¼ä»0å¼å§
public uint dwLeftSpace; //é¢ç容éï¼åä½ä¸ºGï¼
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 8, ArraySubType = UnmanagedType.I1)]
public byte[] byRes2; //ä¿ç
}
//åå¨è·¯å¾è®¾ç½®
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_VCA_SAVE_PATH_CFG
{
public uint dwSize; //ç»æ大å°
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_DISKNUM_V30, ArraySubType = UnmanagedType.Struct)]
public NET_VCA_SINGLE_PATH[] struPathInfo; //å个ååº
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 40, ArraySubType = UnmanagedType.I1)]
public byte[] byRes; //ä¿ç
}
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_DEV_ACCESS_CFG
{
public uint dwSize;
public NET_DVR_IPADDR struIP; //æ¥å
¥è®¾å¤çIPå°å
public ushort wDevicePort; //端å£å·
public byte byEnable; //æ¯å¦å¯ç¨ï¼0-å¦ï¼1-æ¯
public byte byRes1; //ä¿ç
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = NAME_LEN, ArraySubType = UnmanagedType.I1)]
public byte[] sUserName; //æ¥å
¥è®¾å¤çç»å½å¸å·
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = PASSWD_LEN, ArraySubType = UnmanagedType.I1)]
public byte[] sPassword; //æ¥å
¥è®¾å¤çç»å½å¯ç
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 60, ArraySubType = UnmanagedType.I1)]
public byte[] byRes2;
}
/********************************æºè½äººè¸è¯å« end****************************/
//å辨ç
public const int NOT_AVALIABLE = 0;
public const int SVGA_60HZ = 52505660;
public const int SVGA_75HZ = 52505675;
public const int XGA_60HZ = 67207228;
public const int XGA_75HZ = 67207243;
public const int SXGA_60HZ = 84017212;
public const int SXGA2_60HZ = 84009020;
public const int _720P_60HZ = 83978300;
public const int _720P_50HZ = 83978290;
public const int _1080I_60HZ = 394402876;
public const int _1080I_50HZ = 394402866;
public const int _1080P_60HZ = 125967420;
public const int _1080P_50HZ = 125967410;
public const int _1080P_30HZ = 125967390;
public const int _1080P_25HZ = 125967385;
public const int _1080P_24HZ = 125967384;
public const int UXGA_60HZ = 105011260;
public const int UXGA_30HZ = 105011230;
public const int WSXGA_60HZ = 110234940;
public const int WUXGA_60HZ = 125982780;
public const int WUXGA_30HZ = 125982750;
public const int WXGA_60HZ = 89227324;
public const int SXGA_PLUS_60HZ = 91884860;
//æ¾ç¤ºééç»é¢åå²æ¨¡å¼
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_DISPWINDOWMODE
{
public byte byDispChanType;//æ¾ç¤ºééç±»åï¼0-VGA, 1-BNC, 2-HDMI, 3-DVI
public byte byDispChanSeq;//æ¾ç¤ºééåºå·,ä»1å¼å§ï¼å¦æç±»åæ¯VGAï¼å表示第å 个VGA
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 2, ArraySubType = UnmanagedType.I1)]
public byte[] byRes;
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_WINDOWS_NUM, ArraySubType = UnmanagedType.I1)]
public byte[] byDispMode;
}
//æ¾ç¤ºééä¿¡æ¯
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_DISPINFO
{
public byte byChanNums;//éé个æ°
public byte byStartChan;//èµ·å§éé
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 2, ArraySubType = UnmanagedType.I1)]
public byte[] byRes;
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_SUPPORT_RES, ArraySubType = UnmanagedType.U1)]
public uint[] dwSupportResolution;//æ¯æçå辨ç
}
//大å±æ¼æ¥ä¿¡æ¯
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_SCREENINFO
{
public byte bySupportBigScreenNums;//æå¤å¤§å±æ¼æ¥æ°é
public byte byStartBigScreenNum;//大å±æ¼æ¥èµ·å§å·
public byte byMaxScreenX;//大å±æ¼æ¥æ¨¡å¼
public byte byMaxScreenY;
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 8, ArraySubType = UnmanagedType.I1)]
public byte[] byRes;
}
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_MATRIX_ABILITY_V41
{
public uint dwSize;
public byte byDspNums;//DSP个æ°
public byte byDecChanNums;//解ç ééæ°
public byte byStartChan;//èµ·å§è§£ç éé
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 5, ArraySubType = UnmanagedType.I1)]
public byte[] byRes1;
public NET_DVR_DISPINFO struVgaInfo;//VGAæ¾ç¤ºééä¿¡æ¯
public NET_DVR_DISPINFO struBncInfo;//BNCæ¾ç¤ºééä¿¡æ¯
public NET_DVR_DISPINFO struHdmiInfo;//HDMIæ¾ç¤ºééä¿¡æ¯
public NET_DVR_DISPINFO struDviInfo;//DVIæ¾ç¤ºééä¿¡æ¯
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_DISPNUM_V41, ArraySubType = UnmanagedType.Struct)]
public NET_DVR_DISPWINDOWMODE[] struDispMode;
public NET_DVR_SCREENINFO struBigScreenInfo;
public byte bySupportAutoReboot; //æ¯å¦æ¯æèªå¨éå¯ï¼0-ä¸æ¯æï¼1-æ¯æ
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 119, ArraySubType = UnmanagedType.I1)]
public byte[] byRes2;
}
public const int MAX_WINDOWS = 16;//æ大çªå£æ°
public const int MAX_WINDOWS_V41 = 36;
public const int STARTDISPCHAN_VGA = 1;
public const int STARTDISPCHAN_BNC = 9;
public const int STARTDISPCHAN_HDMI = 25;
public const int STARTDISPCHAN_DVI = 29;
[StructLayoutAttribute(LayoutKind.Explicit)]
public struct NET_DVR_VIDEO_PLATFORM
{
[FieldOffsetAttribute(0)]
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 160, ArraySubType = UnmanagedType.I1)]
public byte[] byRes;
[FieldOffsetAttribute(0)]
public VideoPlatform struVideoPlatform;
[FieldOffsetAttribute(0)]
public NotVideoPlatform struNotVideoPlatform;
}
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct VideoPlatform
{
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_WINDOWS_V41, ArraySubType = UnmanagedType.I1)]
public byte[] byJoinDecoderId;
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_WINDOWS_V41, ArraySubType = UnmanagedType.I1)]
public byte[] byDecResolution;
public NET_DVR_RECTCFG struPosition; //æ¾ç¤ºééå¨çµè§å¢ä¸ä½ç½®
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 80, ArraySubType = UnmanagedType.I1)]
public byte[] byRes;
}
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NotVideoPlatform
{
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 160, ArraySubType = UnmanagedType.I1)]
public byte[] byRes;
}
/*æ¾ç¤ºééé
ç½®ç»æä½*/
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_MATRIX_VOUTCFG
{
public int dwSize;
public byte byAudio; /*é³é¢æ¯å¦å¼å¯*/
public byte byAudioWindowIdx; /*é³é¢å¼å¯åçªå£*/
public byte byDispChanType; /*æ¾ç¤ºééç±»åï¼0-BNCï¼1-VGAï¼2-HDMIï¼3-DVIï¼4-YPbPr(解ç å¡æå¡å¨DECODER_SERVERä¸ç¨)*/
public byte byVedioFormat; /*1:NTSC,2:PALï¼0-NULL*/
public uint dwResolution;//å辨ç
public uint dwWindowMode; /*ç»é¢æ¨¡å¼ï¼è½åéè·å*/
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_WINDOWS_V41, ArraySubType = UnmanagedType.I1)]
public byte[] byJoinDecChan;/*å个åçªå£å
³èç解ç éé,设å¤æ¯æ解ç èµæºèªå¨åé
æ¶æ¤åæ°ä¸ç¨å¡«å
*/
public byte byEnlargeStatus; /*æ¯å¦å¤äºæ¾å¤§ç¶æï¼0ï¼ä¸æ¾å¤§ï¼1ï¼æ¾å¤§*/
public byte byEnlargeSubWindowIndex;//æ¾å¤§çåçªå£å·
public byte byScale; /*æ¾ç¤ºæ¨¡å¼ï¼0---çå®æ¾ç¤ºï¼1---缩æ¾æ¾ç¤º( é对BNC )*/
public byte byUnionType;/*åºåå
±ç¨ä½,0-è§é¢ç»¼åå¹³å°å
é¨è§£ç å¨æ¾ç¤ºééé
ç½®ï¼1-å
¶ä»è§£ç å¨æ¾ç¤ºééé
ç½®*/
public NET_DVR_VIDEO_PLATFORM struDiff;
public uint dwDispChanNum; //æ¾ç¤ºè¾åºå·ï¼æ¤åæ°å¨å
¨é¨è·åæ¶ææ
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 76, ArraySubType = UnmanagedType.I1)]
public byte[] byRes2;
}
/*解ç å¨è®¾å¤ç¶æ*/
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_DISP_CHAN_STATUS_V41
{
public byte byDispStatus; /*æ¾ç¤ºç¶æï¼0ï¼æªæ¾ç¤ºï¼1ï¼å¯å¨æ¾ç¤º*/
public byte byBVGA; /*0-BNCï¼1-VGAï¼ 2-HDMIï¼3-DVIï¼0xff-æ æ*/
public byte byVideoFormat; /*è§é¢å¶å¼ï¼1:NTSC,2:PAL,0-NON*/
public byte byWindowMode; /*ç»é¢æ¨¡å¼*/
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_WINDOWS_V41, ArraySubType = UnmanagedType.I1)]
public byte[] byJoinDecChan; /*å个åç»é¢å
³èç解ç éé*/
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_WINDOWS_V41, ArraySubType = UnmanagedType.I1)]
public byte[] byFpsDisp; /*æ¯ä¸ªåç»é¢çæ¾ç¤ºå¸§ç*/
public byte byScreenMode; /*å±å¹æ¨¡å¼0-æ®é 1-大å±*/
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 3, ArraySubType = UnmanagedType.I1)]
public byte[] byRes1;
public uint dwDispChan; /*è·åå
¨é¨æ¾ç¤ºééç¶ææ¶ææï¼è®¾ç½®æ¶å¯å¡«0*/
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 24, ArraySubType = UnmanagedType.I1)]
public byte[] byRes2;
}
/*解ç å¨è®¾å¤ç¶æ*/
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_DECODER_WORK_STATUS_V41
{
public uint dwSize;
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 32, ArraySubType = UnmanagedType.Struct)]
public NET_DVR_MATRIX_CHAN_STATUS[] struDecChanStatus; /*解ç ééç¶æ*/
/*æ¾ç¤ºééç¶æ*/
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_DISPNUM_V41, ArraySubType = UnmanagedType.Struct)]
public NET_DVR_DISP_CHAN_STATUS_V41[] struDispChanStatus;
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 32, ArraySubType = UnmanagedType.I1)]
public byte[] byAlarmInStatus; /*æ¥è¦è¾å
¥ç¶æ*/
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 32, ArraySubType = UnmanagedType.I1)]
public byte[] byAlarmOutStatus; /*æ¥è¦è¾åºç¶æ*/
public byte byAudioInChanStatus; /*è¯é³å¯¹è®²ç¶æ*/
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 127, ArraySubType = UnmanagedType.I1)]
public byte[] byRes;
}
/*******************************æ件åæ¾-è¿ç¨åæ¾è®¾ç½®*******************************/
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_MATRIX_DEC_REMOTE_PLAY_V41
{
public uint dwSize;
public NET_DVR_IPADDR struIP; /* DVR IPå°å */
public ushort wDVRPort; /* 端å£å· */
public byte byChannel; /* ééå· */
public byte byReserve;
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = NAME_LEN, ArraySubType = UnmanagedType.I1)]
public byte[] sUserName; /* ç¨æ·å */
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = PASSWD_LEN, ArraySubType = UnmanagedType.I1)]
public byte[] sPassword; /* å¯ç */
public uint dwPlayMode; /* 0ï¼ææ件 1ï¼ææ¶é´*/
public NET_DVR_TIME StartTime;
public NET_DVR_TIME StopTime;
[MarshalAsAttribute(UnmanagedType.ByValTStr, SizeConst = 128)]
public string sFileName;
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 64, ArraySubType = UnmanagedType.I1)]
public byte[] byRes; /*ä¿ç*/
}
public const int MAX_BIGSCREENNUM_SCENE = 100;
//æ¾ç¤ºééé
ç½®ç»æ
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_RECTCFG_SCENE
{
public ushort wXCoordinate; /*ç©å½¢å·¦ä¸è§èµ·å§ç¹Xåæ */
public ushort wYCoordinate; /*ç©å½¢å·¦ä¸è§Yåæ */
public ushort wWidth; /*ç©å½¢å®½åº¦*/
public ushort wHeight; /*ç©å½¢é«åº¦*/
}
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_SCENEDISPCFG
{
public byte byEnable;//æ¯å¦å¯ç¨ï¼0-ä¸å¯ç¨ï¼1-å¯ç¨
public byte bySoltNum;//槽ä½å·
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 2, ArraySubType = UnmanagedType.I1)]
public byte[] byRes1;
public byte byDispChanNum;
public byte byAudio; /*é³é¢æ¯å¦å¼å¯,0-å¦ï¼1-æ¯*/
public byte byAudioWindowIdx; /*é³é¢å¼å¯åçªå£*/
public byte byVedioFormat; /*1:NTSC,2:PALï¼0-NULL*/
public byte byWindowMode; /*ç»é¢æ¨¡å¼ï¼ä»è½åéè·å*/
public byte byEnlargeStatus; /*æ¯å¦å¤äºæ¾å¤§ç¶æï¼0ï¼ä¸æ¾å¤§ï¼1ï¼æ¾å¤§*/
public byte byEnlargeSubWindowIndex;//æ¾å¤§çåçªå£å·
public byte byScale; /*æ¾ç¤ºæ¨¡å¼ï¼0-çå®æ¾ç¤ºï¼1-缩æ¾æ¾ç¤º( é对BNC )*/
public uint dwResolution;//å辨ç
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_WINDOWS_V41, ArraySubType = UnmanagedType.I1)]
public byte[] byJoinDecChan;/*å个åçªå£å
³èç解ç éé*/
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_WINDOWS_V41, ArraySubType = UnmanagedType.I1)]
public byte[] byJoinDecoderId;/*槽ä½å·*/
//æ¾ç¤ºçªå£æ解è§é¢å辨çï¼1-D1,2-720P,3-1080Pï¼è®¾å¤ç«¯éè¦æ ¹æ®æ¤//å辨çè¿è¡è§£ç ééçåé
ï¼å¦1åå±é
ç½®æ1080Pï¼å设å¤ä¼æ4个解ç ééé½åé
ç»æ¤è§£ç éé
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_WINDOWS_V41, ArraySubType = UnmanagedType.I1)]
public byte[] byDecResolution;
public byte byRow;//大å±æå¨çè¡çåºå·
public byte byColumn;//大å±æå¨çåçåºå·
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 5, ArraySubType = UnmanagedType.I1)]
public byte[] byRes2;
public NET_DVR_RECTCFG struDisp; //çµè§å¢æ¾ç¤ºä½ç½®
}
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_DEV_CHAN_INFO_SCENE
{
public NET_DVR_IPADDR struIP; /* DVR IPå°å */
public ushort wDVRPort; /* 端å£å· */
public byte byChannel; /* ééå·ï¼å¯¹äº9000ç设å¤çIPCæ¥å
¥ï¼ééå·ä»33å¼å§ */
public byte byTransProtocol; /* ä¼ è¾å议类å0-TCPï¼1-UDP ï¼2-MCASTï¼3-RTP*/
public byte byTransMode; /* ä¼ è¾ç æµæ¨¡å¼ 0ï¼ä¸»ç æµ 1ï¼åç æµ*/
public byte byFactoryType; /*å端设å¤å家类å*/
public byte byDeviceType; //设å¤ç±»åï¼1-IPCï¼2- ENCODER
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 5, ArraySubType = UnmanagedType.I1)]
public byte[] byRes;
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = NAME_LEN, ArraySubType = UnmanagedType.I1)]
public byte[] sUserName; /* çæ§ä¸»æºç»éå¸å· */
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = PASSWD_LEN, ArraySubType = UnmanagedType.I1)]
public byte[] sPassword; /* çæ§ä¸»æºå¯ç */
}
/*æµåªä½æå¡å¨åºæ¬é
ç½®*/
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_STREAM_MEDIA_SERVER_CFG_SCENE
{
public byte byValid; /*æ¯å¦å¯ç¨æµåªä½æå¡å¨åæµ,0表示æ æ*/
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 3, ArraySubType = UnmanagedType.I1)]
public byte[] byRes1;
public NET_DVR_IPADDR struDevIP; /*æµåªä½æå¡å¨å°å*/
public ushort wDevPort; /*æµåªä½æå¡å¨ç«¯å£*/
public byte byTransmitType; /*ä¼ è¾å议类å0-TCPï¼1-UDP */
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 5, ArraySubType = UnmanagedType.I1)]
public byte[] byRes2;
}
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_PU_STREAM_CFG_SCENE
{
public NET_DVR_STREAM_MEDIA_SERVER_CFG_SCENE streamMediaServerCfg;
public NET_DVR_DEV_CHAN_INFO_SCENE struDevChanInfo;
}
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_CYC_SUR_CHAN_ELE_SCENE
{
public byte byEnable; /* æ¯å¦å¯ç¨ 0ï¼å¦ 1ï¼å¯ç¨*/
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 3, ArraySubType = UnmanagedType.I1)]
public byte[] byRes;
public NET_DVR_STREAM_MEDIA_SERVER_CFG_SCENE struStreamMediaSvrCfg;
public NET_DVR_DEV_CHAN_INFO_SCENE struDecChanInfo; /*轮巡解ç ééä¿¡æ¯*/
}
//轮巡解ç ç»æ
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_MATRIX_LOOP_DECINFO_SCENE
{
public ushort wPoolTime; /*轮询é´é*/
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 2, ArraySubType = UnmanagedType.I1)]
public byte[] byRes1;
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_CYCLE_CHAN, ArraySubType = UnmanagedType.Struct)]
public NET_DVR_CYC_SUR_CHAN_ELE_SCENE[] struChanArray;
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 4, ArraySubType = UnmanagedType.I1)]
public byte[] byRes2;
}
//å个解ç ééé
ç½®ç»æä½
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_DECODECHANCFG_SCENE
{
public byte byDecodeEnable;//解ç èµ·åæ å¿ï¼0-åæ¢ï¼1-å¯ç¨å¨æ解ç ï¼2-å¯ç¨è½®å·¡è§£ç
public byte bySlotNum;//槽ä½å·
public byte byDecChan;
public byte byJointAllDecodeChan; //æ¯å¦å
³èä¸è½è§£ç éé 0-ä¸å
³èï¼1-å
³è
public byte byJointSlotNum; //å
³èç槽ä½å·ï¼ä¸è½è§£ç æ¿ç槽ä½å·ï¼
public byte byJointChanNum; //å
³èçééå·ï¼ä¸è½è§£ç æ¿ééå·ï¼
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 2, ArraySubType = UnmanagedType.I1)]
public byte[] byRes;
public STRUDECCFG struDecCfg;
}
[StructLayoutAttribute(LayoutKind.Explicit)]
public struct STRUDECCFG
{
//[FieldOffsetAttribute(0)]
//[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 5480, ArraySubType = UnmanagedType.I1)]
//public byte[] byRes;
[FieldOffsetAttribute(0)]
public NET_DVR_PU_STREAM_CFG_SCENE struSceneDynamicDecCfg;
[FieldOffsetAttribute(0)]
public NET_DVR_MATRIX_LOOP_DECINFO_SCENE struSceneCycDecCfg;
}
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_BIGSCREENCFG_SCENE
{
public byte byAllValid; /*漫游使è½æ å¿ */
public byte byAssociateBaseMap;//å
³èçåºå¾åºå·ï¼0代表ä¸å
³è
public byte byEnableSpartan;//大å±ç
æ¾ä½¿è½ï¼1-å¼ï¼0-å
³
public byte byRes;
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_LAYERNUMS, ArraySubType = UnmanagedType.Struct)]
public NET_DVR_WINCFG[] struWinCfg;
public NET_DVR_BIGSCREENCFG struBigScreen;
public void Init()
{
struBigScreen = new NET_DVR_BIGSCREENCFG();
struWinCfg = new NET_DVR_WINCFG[MAX_LAYERNUMS];
}
}
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_MATRIX_SCENECFG
{
public uint dwSize;
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = NAME_LEN, ArraySubType = UnmanagedType.I1)]
public byte[] sSceneName;
public byte byBigScreenNums;//大å±ç个æ°ï¼æ大å¼éè¿è½åéè·å
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 3, ArraySubType = UnmanagedType.I1)]
public byte[] byRes1;
public ushort wDecChanNums;//åºæ¯ä¸è§£ç ééç个æ°
public ushort wDispChanNums;//åºæ¯ä¸æ¾ç¤ºééç个æ°
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 12, ArraySubType = UnmanagedType.I1)]
public byte[] byRes2;
public IntPtr pBigScreenBuffer;//大å±é
ç½®ç¼å²åº, byBigScreenNumsÃsizeof(NET_DVR_BIGSCREENCFG_SCENE)
public IntPtr pDecChanBuffer;//解ç ééé
ç½®ç¼å²åº, wDecChanNumsÃsizeof(NET_DVR_DECODECHANCFG_SCENE)
public IntPtr pDispChanBuffer;//æ¾ç¤ºééé
ç½®ç¼å²åº, wDispChanNumsÃsizeof(NET_DVR_SCENEDISPCFG)
public void Init()
{
sSceneName = new byte[NAME_LEN];
byRes1 = new byte[3];
byRes1 = new byte[12];
}
}
public const int NET_DVR_GET_ALLWINCFG = 1503; //çªå£åæ°è·å
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_BIGSCREENASSOCIATECFG
{
public uint dwSize;
public byte byEnableBaseMap;//使è½åºå¾æ¾ç¤º
public byte byAssociateBaseMap;//å
³èçåºå¾åºå·ï¼0代表ä¸å
³è
public byte byEnableSpartan;//大å±ç
æ¾ä½¿è½ï¼1-å¼ï¼0-å
³
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 21, ArraySubType = UnmanagedType.I1)]
public byte[] byRes;
}
/*******************************çªå£è®¾ç½®*******************************/
public const int MAX_WIN_COUNT = 224; //æ¯æçæ大å¼çªæ°
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_SCREEN_WINCFG{
public uint dwSize;
public byte byVaild;
public byte byInputType; //è§CAM_MDOE
public ushort wInputIdx; /*è¾å
¥æºç´¢å¼*/
public uint dwLayerIdx; /*å¾å±ï¼0为æåºå±*/
public NET_DVR_RECTCFG struWin; //ç®ççªå£(ç¸å¯¹æ¾ç¤ºå¢)
public byte byWndIndex; //çªå£å·
public byte byCBD; //0-æ ï¼1-带èæ¯ï¼2-ä¸å¸¦èæ¯
public byte bySubWnd; //0ä¸æ¯ï¼1æ¯
public byte byRes1;
public uint dwDeviceIndex;//设å¤åºå·
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 16, ArraySubType = UnmanagedType.I1)]
public byte[] byRes2;
}
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_WINLIST
{
public uint dwSize;
public ushort wScreenSeq; //设å¤åºå·
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 10, ArraySubType = UnmanagedType.I1)]
public byte[] byRes;
public uint dwWinNum; //设å¤è¿åççªå£æ°é
public IntPtr pBuffer; //çªå£ä¿¡æ¯ç¼å²åºï¼æ大为224*sizeof(NET_DVR_WINCFG)
public uint dwBufLen; //æåé
æéé¿åº¦
}
public const int MAX_LAYOUT_COUNT = 16; //æ大å¸å±æ°
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_LAYOUTCFG
{
public uint dwSize;
public byte byValid; //å¸å±æ¯å¦ææ
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 3, ArraySubType = UnmanagedType.I1)]
public byte[] byRes1;
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = NAME_LEN, ArraySubType = UnmanagedType.I1)]
public byte[] byLayoutName; //å¸å±å称
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_WIN_COUNT, ArraySubType = UnmanagedType.Struct)]
public NET_DVR_SCREEN_WINCFG[] struWinCfg; //å¸å±å
çªå£åæ°
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 16, ArraySubType = UnmanagedType.I1)]
public byte[] byRes2;
}
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_LAYOUT_LIST
{
public uint dwSize;
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_LAYOUT_COUNT, ArraySubType = UnmanagedType.Struct)]
public NET_DVR_LAYOUTCFG[] struLayoutInfo; //ææå¸å±
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 4, ArraySubType = UnmanagedType.I1)]
public byte[] byRes;
}
public const int MAX_CAM_COUNT = 224;
public enum NET_DVR_CAM_MODE
{
NET_DVR_UNKNOW = 0,//æ æ
NET_DVR_CAM_BNC,
NET_DVR_CAM_VGA,
NET_DVR_CAM_DVI,
NET_DVR_CAM_HDMI,
NET_DVR_CAM_IP,
NET_DVR_CAM_RGB,
NET_DVR_CAM_DECODER,
NET_DVR_CAM_MATRIX,
NET_DVR_CAM_YPBPR,
NET_DVR_CAM_USB,
}
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_INPUTSTREAMCFG
{
public uint dwSize ;
public byte byValid ;
public byte byCamMode; //ä¿¡å·è¾å
¥æºç±»åï¼è§NET_DVR_CAM_MODE
public ushort wInputNo; //ä¿¡å·æºåºå·0-224
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = NAME_LEN, ArraySubType = UnmanagedType.I1)]
public byte[] sCamName; //ä¿¡å·è¾å
¥æºå称
public NET_DVR_VIDEOEFFECT struVideoEffect; //è§é¢åæ°
public NET_DVR_PU_STREAM_CFG struPuStream; //ipè¾å
¥æ¶ä½¿ç¨
public ushort wBoardNum ; //ä¿¡å·æºæå¨çæ¿å¡å·
public ushort wInputIdxOnBoard; //ä¿¡å·æºå¨æ¿å¡ä¸çä½ç½®
public ushort wResolutionX; //å辨ç
public ushort wResolutionY;
public byte byVideoFormat; //è§é¢å¶å¼ï¼0-æ ï¼1-NTSCï¼2-PAL
public byte byNetSignalResolution; //; 1-CIF 2-4CIF 3-720P 4-1080P 5-500wp ãç½ç»ä¿¡å·æºçå辨çï¼å¨æ·»å ç½ç»ä¿¡å·æºæ¶ä¼ ç»è®¾å¤ï¼è®¾å¤æ ¹æ®è¿ä¸ªå辨çæ¥åé
解ç èµæºã
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = NAME_LEN, ArraySubType = UnmanagedType.I1)]
public byte[] sGroupName; //ç½ç»ä¿¡å·æºåç» ç»å
public byte byJointMatrix; // å
³èç©éµ ï¼0-ä¸å
³è 1-å
³è
public byte byRes;
}
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_INPUTSTREAM_LIST
{
public uint dwSize;
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_CAM_COUNT, ArraySubType = UnmanagedType.Struct)]
public NET_DVR_INPUTSTREAMCFG[] struInputStreamInfo; //ææä¿¡å·æº
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 4, ArraySubType = UnmanagedType.I1)]
public byte[] byRes;
}
/*******************************è¾åºåæ°é
ç½®*******************************/
/*è¾åºéé管ç*/
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_OUTPUTPARAM
{
public uint dwSize;
public byte byMonMode; /*è¾åºè¿æ¥æ¨¡å¼,1-BNC,2-VGA,3-DVI,4-HDMI*/
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 3, ArraySubType = UnmanagedType.I1)]
public byte[] byRes1;
public uint dwResolution; /*å辨çï¼æ ¹æ®è½åéè·åææ¯æçè¿è¡è®¾ç½®*/
public NET_DVR_VIDEOEFFECT struVideoEffect; /*è¾åºééè§é¢åæ°é
ç½®*/
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 32, ArraySubType = UnmanagedType.I1)]
public byte[] byRes2;
}
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_OUTPUTCFG
{
public uint dwSize;
public byte byScreenLayX; //大å±å¸å±-横åæ
public byte byScreenLayY; //大å±å¸å±-纵åæ
public ushort wOutputChanNum; //è¾åºéé个æ°ï¼0表示设å¤æ¯æçæ大è¾åºéé个æ°ï¼æ大个æ°ä»è½åéè·åï¼å
¶ä»å¼è¡¨ç¤ºå®é
è¾åºéé个æ°
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 4, ArraySubType = UnmanagedType.I1)]
public byte[] byRes1;
public NET_DVR_OUTPUTPARAM struOutputParam; /*è¾åºééè§é¢åæ°é
ç½®*/
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 16, ArraySubType = UnmanagedType.I1)]
public byte[] sWallName; //çµè§å¢å称
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 8, ArraySubType = UnmanagedType.I1)]
public byte[] byRes2;
}
/*******************************è½åé*******************************/
public const int SCREEN_PROTOCOL_NUM = 20; //æ¯æçæ大大å±æ§å¶å¨åè®®æ°
//å¤å±æå¡å¨è½åé
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_SCREENSERVER_ABILITY
{
public uint dwSize; /*ç»æé¿åº¦*/
public byte byIsSupportScreenNum; /*ææ¯æ大å±æ§å¶å¨çæ°ç®*/
public byte bySerialNums; //串å£ä¸ªæ°
public byte byMaxInputNums;
public byte byMaxLayoutNums;
public byte byMaxWinNums;
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 19, ArraySubType = UnmanagedType.I1)]
public byte[] byRes1;
public byte byMaxScreenLayX;//大å±å¸å±-æ大横åæ 大å±æ°
public byte byMaxScreenLayY;//大å±å¸å±-æ大纵åæ 大å±æ°
public ushort wMatrixProtoNum; /*ææç大å±åè®®æ°ç®*/
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = SCREEN_PROTOCOL_NUM, ArraySubType = UnmanagedType.Struct)]
public NET_DVR_PROTO_TYPE[] struScreenProto;/*æ大åè®®å表*/
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 24, ArraySubType = UnmanagedType.I1)]
public byte[] byRes2;
}
//å¤å±æ§å¶å¨è½åé
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_SCREENCONTROL_ABILITY
{
public uint dwSize; /*ç»æé¿åº¦*/
public byte byLayoutNum; /* å¸å±ä¸ªæ°*/
public byte byWinNum; /*å±å¹çªå£ä¸ªæ°*/
public byte byOsdNum; /*OSD个æ°*/
public byte byLogoNum; /*Logo个æ°*/
public byte byInputStreamNum; //è¾å
¥æºä¸ªæ° ---设å¤æ¯ææ大è¾å
¥éé个æ°ï¼å
æ¬æ¬å°è¾å
¥æºåç½ç»è¾å
¥æºï¼
public byte byOutputChanNum; //è¾åºéé个æ°---设å¤æ¯ææ大è¾åºéé个æ°
public byte byCamGroupNum; /*åç»ä¸ªæ°*/
public byte byPlanNum; /*é¢æ¡ä¸ªæ°*/
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 5, ArraySubType = UnmanagedType.I1)]
public byte[] byRes1;
public byte byIsSupportPlayBack; /*æ¯å¦æ¯æåæ¾*/
public byte byMatrixInputNum; //æ¯æè¾å
¥ç©éµæ大个æ°
public byte byMatrixOutputNum; //æ¯æè¾åºç©éµæ大个æ°
public NET_DVR_DISPINFO struVgaInfo;//VGAè¾åºä¿¡æ¯
public NET_DVR_DISPINFO struBncInfo;//BNCè¾åºä¿¡æ¯
public NET_DVR_DISPINFO struHdmiInfo;//HDMIè¾åºä¿¡æ¯
public NET_DVR_DISPINFO struDviInfo;//DVIè¾åºä¿¡æ¯
public byte byMaxUserNums;//æ¯æç¨æ·æ°
public byte byPicSpan; //åºå¾è·¨åº¦ï¼ä¸å¼ åºå¾æå¤å¯è¦ççå±å¹æ°
public ushort wDVCSDevNum; //åå¸å¼å¤§å±æ§å¶å¨æ大设å¤æ°
public ushort wNetSignalNum; //æ大ç½ç»è¾å
¥æºä¸ªæ°
public ushort wBaseCoordinateX;//åºååæ
public ushort wBaseCoordinateY;
public byte byExternalMatrixNum; //æ大å¤æ¥ç©éµä¸ªæ°
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 49, ArraySubType = UnmanagedType.I1)]
public byte[] byRes2;
}
/*******************************è¾å
¥ä¿¡å·ç¶æ*******************************/
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_ANALOGINPUTSTATUS
{
public uint dwLostFrame; /*è§é¢è¾å
¥ä¸¢å¸§æ°*/
public byte byHaveSignal; /*æ¯å¦æè§é¢ä¿¡å·è¾å
¥*/
public byte byVideoFormat; /*è§é¢å¶å¼ï¼1ï¼NTSC,2ï¼PAL,0ï¼æ */
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 46, ArraySubType = UnmanagedType.I1)]
public byte[] byRes;
}
[StructLayoutAttribute(LayoutKind.Explicit)]
public struct NET_DVR_INPUTSTATUS_UNION
{
[FieldOffsetAttribute(0)]
public NET_DVR_MATRIX_CHAN_STATUS struIpInputStatus;
[FieldOffsetAttribute(0)]
public NET_DVR_ANALOGINPUTSTATUS struAnalogInputStatus;
}
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_INPUTSTATUS
{
public ushort wInputNo; /*ä¿¡å·æºåºå·*/
public byte byInputType; //è§NET_DVR_CAM_MODE
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 9, ArraySubType = UnmanagedType.I1)]
public byte[] byRes1;
public NET_DVR_INPUTSTATUS_UNION struStatusUnion;
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 16, ArraySubType = UnmanagedType.I1)]
public byte[] byRes2;
}
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_SCREENINPUTSTATUS
{
public uint dwSize;
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 12, ArraySubType = UnmanagedType.I1)]
public byte[] byRes;
public uint dwNums; //设å¤è¿åçè¾å
¥æºç¶æçæ°é
public IntPtr pBuffer; //ç¼å²åº
public uint dwBufLen; //æåé
æéé¿åº¦ï¼è¾å
¥åæ°
}
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_SCREENALARMCFG
{
public uint dwSize;
public byte byAlarmType; //æ¥è¦ç±»åï¼1-åæ¿æåºï¼2-åæ¿æå
¥ï¼3-åç³»ç»ç¶æå¼å¸¸ï¼4-åç³»ç»æ¢å¤æ¢å¤ 5-è¾å
¥æºå¼å¸¸ 6-温度æ¥è¦ 7-FPGAçæ¬ä¸å¹é
8-é¢æ¡å¼å§ 9-é¢æ¡ç»æ 10-解ç æ¿æç½ 11-解ç æ¿IPå°åå²çªï¼12-é£æå¼å¸¸
public byte byBoardType; // 1-è¾å
¥æ¿ 2-è¾åºæ¿ ï¼3-主æ¿ï¼4-èæ¿ï¼æ¥è¦ç±»å为1ï¼2ï¼3ï¼6çæ¶å使ç¨
public byte bySubException; //è¾å
¥å¼å¸¸æ¶å
·ä½åå¼å¸¸ 1- å辨çæ£å¸¸æ¹å 2-è¾å
¥ç«¯å£ç±»åæ¹å3-å辨çé误4-å辨çæ¹å导è´è§£ç èµæºä¸è¶³ï¼å
³é该è¾å
¥æºå¯¹åºçªå£ã5-å辨çæ¹åï¼å¯¼è´å·²å¼çªç缩æ¾æ¯ä¾ä¸å¨1/8å°8åèå´ã6-å辨çæ¢å¤æ£å¸¸,7-å辨çæ¹å导è´è¾åºæ¿æ°æ®éè¶
é,设å¤å
³éçªå£
public byte byRes1;
public ushort wStartInputNum; // å¼å¸¸è¾å
¥æºï¼å¼å¸¸èµ·ç¹ï¼
public ushort wEndInputNum; // å¼å¸¸è¾å
¥æºï¼å¼å¸¸ç»ç¹ï¼
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 16, ArraySubType = UnmanagedType.I1)]
public byte[] byRes2;
}
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_MATRIX_CFG
{
public byte byValid; //å¤ææ¯å¦æ¯æ¨¡æç©éµï¼æ¯å¦ææï¼
public byte byCommandProtocol; //模æç©éµçæ令ï¼4ç§ï¼
public byte byScreenType; //ä¿ç
public byte byRes1;
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 32, ArraySubType = UnmanagedType.I1)]
public byte[] byScreenToMatrix; //模æç©éµçè¾åºä¸å±å¹ç对åºå
³ç³»
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 4, ArraySubType = UnmanagedType.I1)]
public byte[] byRes2;
}
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_DIGITALSCREEN
{
public NET_DVR_IPADDR struAddress;/*设å¤ä¸ºæ°å设å¤æ¶çIPä¿¡æ¯*/
public ushort wPort; //ééå·
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 26, ArraySubType = UnmanagedType.I1)]
public byte[] byRes; //ä¿ç
}
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_ANALOGSCREEN
{
public byte byDevSerPortNum; /*è¿æ¥è®¾å¤ç串å£å·*/
public byte byScreenSerPort; /*è¿æ¥å¤§å±ç串å£å·*/
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 130, ArraySubType = UnmanagedType.I1)]
public byte[] byRes;
public NET_DVR_MATRIX_CFG struMatrixCfg;
}
[StructLayoutAttribute(LayoutKind.Explicit)]
public struct NET_DVR_SCREEN_UNION
{
[FieldOffsetAttribute(0)]
public NET_DVR_DIGITALSCREEN struDigitalScreen;
[FieldOffsetAttribute(0)]
public NET_DVR_ANALOGSCREEN struAnalogScreen;
}
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_SCREEN_SCREENINFO
{
public uint dwSize;
public byte byValid; //æ¯å¦ææ
public byte nLinkMode; //è¿æ¥æ¹å¼ï¼0-串å£ï¼1-ç½å£
public byte byDeviceType; //设å¤åå·ï¼è½åéè·å
public byte byScreenLayX; //大å±å¸å±-横åæ
public byte byScreenLayY; //大å±å¸å±-纵åæ
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 3, ArraySubType = UnmanagedType.I1)]
public byte[] byRes1;
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = NAME_LEN, ArraySubType = UnmanagedType.I1)]
public byte[] sUserName; /*ç»å½ç¨æ·å*/
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = PASSWD_LEN, ArraySubType = UnmanagedType.I1)]
public byte[] sPassword; /*ç»å½å¯ç */
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = NAME_LEN, ArraySubType = UnmanagedType.I1)]
public byte[] sDevName; /*设å¤å称*/
public NET_DVR_SCREEN_UNION struScreenUnion;
public byte byInputNum; // è¾å
¥æºä¸ªæ°
public byte byOutputNum; // è¾åºæºä¸ªæ°
public byte byCBDNum; //CBD个æ°
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 29, ArraySubType = UnmanagedType.I1)]
public byte[] byRes2;
}
/*******************************åºå¾ä¸ä¼ *******************************/
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_BASEMAP_CFG
{
public byte byScreenIndex; //å±å¹çåºå·
public byte byMapNum; /*被åå²æäºå¤å°å*/
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 2, ArraySubType = UnmanagedType.I1)]
public byte[] res;
public ushort wSourWidth; /* åå¾çç宽度 */
public ushort wSourHeight; /* åå¾ççé«åº¦ */
}
/*******************************OSD*******************************/
public const int MAX_OSDCHAR_NUM = 256;
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_OSDCFG
{
public uint dwSize;
public byte byValid; /*æ¯å¦ææ 0æ æ 1ææ*/
public byte byDispMode; //æ¾ç¤ºæ¨¡å¼ï¼1-éæï¼2-åéæï¼3-è¦çä¸ç§æ¨¡å¼
public byte byFontColorY; /*åä½é¢è²Y,0-255*/
public byte byFontColorU; /*åä½é¢è²U,0-255*/
public byte byFontColorV; /*åä½é¢è²V,0-255*/
public byte byBackColorY; /*èæ¯é¢è²Y,0-255*/
public byte byBackColorU; /*èæ¯é¢è²U,0-255*/
public byte byBackColorV; /*èæ¯é¢è²V,0-255*/
public ushort wXCoordinate; /*OSDå¨å±å¹å·¦ä¸è§ä½ç½®x*/
public ushort wYCoordinate; /*OSDå¨å±å¹å·¦ä¸è§ä½ç½®y*/
public ushort wWidth; /*OSD宽度*/
public ushort wHeight; /*OSDé«åº¦*/
public uint dwCharCnt; /*å符ç个æ°*/
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_OSDCHAR_NUM, ArraySubType = UnmanagedType.U2)]
public ushort[] wOSDChar; /*OSDå符å
容*/
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 32, ArraySubType = UnmanagedType.I1)]
public byte[] byRes;
}
/*******************************è·å串å£ä¿¡æ¯*******************************/
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_SERIAL_CONTROL
{
public uint dwSize ;
public byte bySerialNum; // 串å£ä¸ªæ°
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 3, ArraySubType = UnmanagedType.I1)]
public byte[] byRes1;
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 32, ArraySubType = UnmanagedType.I1)]
public byte[] bySerial;
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 32, ArraySubType = UnmanagedType.I1)]
public byte[] byRes2;
}
/*******************************å±å¹æ§å¶*******************************/
//å±å¹è¾å
¥æºæ§å¶
public enum INPUT_INTERFACE_TYPE
{
INTERFACE_VGA = 0,
INTERFACE_SVIDEO, // 2046NLä¸æ¯æï¼2046NHæ¯æ
INTERFACE_YPBPR,
INTERFACE_DVI ,
INTERFACE_BNC ,
INTERFACE_DVI_LOOP,//(ç¯é) 2046NHä¸æ¯æï¼2046NLæ¯æ
INTERFACE_BNC_LOOP, //(ç¯é) 2046NHä¸æ¯æï¼2046NL.æ¯æ
INTERFACE_HDMI,
}
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_INPUT_INTERFACE_CTRL
{
public byte byInputSourceType; //è§INPUT_INTERFACE_TYPE
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 15, ArraySubType = UnmanagedType.I1)]
public byte[] byRes;
}
//æ¾ç¤ºåå
é¢è²æ§å¶
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_DISPLAY_COLOR_CTRL
{
public byte byColorType; //1-亮度 2-对æ¯åº¦ 3-饱å度 4-æ¸
æ°åº¦
public char byScale; //-1 ã0ã+1ä¸ä¸ªå¼
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 14, ArraySubType = UnmanagedType.I1)]
public byte[] byRes;
}
//æ¾ç¤ºåå
ä½ç½®æ§å¶
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_DISPLAY_POSITION_CTRL
{
public byte byPositionType; //1-æ°´å¹³ä½ç½® 2-åç´ä½ç½®ï¼
public char byScale; //-1 ã0ã+1ä¸ä¸ªå¼
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 14, ArraySubType = UnmanagedType.I1)]
public byte[] byRes;
}
[StructLayoutAttribute(LayoutKind.Explicit)]
public struct NET_DVR_SCREEN_CONTROL_PARAM
{
[FieldOffsetAttribute(0)]
public NET_DVR_INPUT_INTERFACE_CTRL struInputCtrl;
[FieldOffsetAttribute(0)]
public NET_DVR_DISPLAY_COLOR_CTRL struDisplayCtrl;
[FieldOffsetAttribute(0)]
public NET_DVR_DISPLAY_POSITION_CTRL struPositionCtrl;
[FieldOffsetAttribute(0)]
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 16, ArraySubType = UnmanagedType.I1)]
public byte[] byRes;
}
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_SCREEN_CONTROL
{
public uint dwSize;
public uint dwCommand ; /* æ§å¶æ¹æ³ 1-å¼ 2-å
³ 3-å±å¹è¾å
¥æºéæ© 4-æ¾ç¤ºåå
é¢è²æ§å¶ 5-æ¾ç¤ºåå
ä½ç½®æ§å¶*/
public byte byProtocol; //串å£å议类å,1:LCD-S1,2:LCD-S2
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 3, ArraySubType = UnmanagedType.I1)]
public byte[] byRes1;
public NET_DVR_SCREEN_CONTROL_PARAM struControlParam;
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 52, ArraySubType = UnmanagedType.I1)]
public byte[] byRes2;
}
/*******************************å±å¹æ§å¶V41*******************************/
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_SCREEN_CONTROL_V41
{
public uint dwSize;
public byte bySerialNo; //串å£å·
public byte byBeginAddress; //å·¦ä¸è§å±å¹å·ï¼ä»1å¼å§
public byte byEndAddress; //å³ä¸è§å±å¹å·ï¼ä»1å¼å§
public byte byProtocol; // 串å£å议类å 1-LCD-S1 , 2-LCD-S2 , 3-LCD-L1 ï¼ 4-LCD-DLPï¼ 5-LCD-S3 , 6-LCD-H1
public uint dwCommand ; /* æ§å¶æ¹æ³ 1-å¼ 2-å
³ 3-å±å¹è¾å
¥æºéæ© 4-æ¾ç¤ºåå
é¢è²æ§å¶ 5-æ¾ç¤ºåå
ä½ç½®æ§å¶*/
public NET_DVR_SCREEN_CONTROL_PARAM struControlParam;
public byte byWallNo; // çµè§å¢å·
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 51, ArraySubType = UnmanagedType.I1)]
public byte[] byRes;
}
/*******************************é¢æ¡ç®¡ç*******************************/
public const int MAX_PLAN_ACTION_NUM = 32; //é¢æ¡å¨ä½ä¸ªæ°
public const int DAYS_A_WEEK = 7; //ä¸å¨7天
public const int MAX_PLAN_COUNT = 16; //é¢æ¡ä¸ªæ°
public enum NET_DVR_PLAN_OPERATE_TYPE
{
NET_DVR_SWITCH_LAYOUT = 1, // å¸å±åæ¢ é»è®¤
NET_DVR_SCREEN_POWER_OFF, // å
³é大å±å¹æ¾ç¤º
NET_DVR_SCREEN_POWER_ON, // æå¼å¤§å±å¹æ¾ç¤º
}
/*é¢æ¡é¡¹ä¿¡æ¯*/
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_PLAN_INFO
{
public byte byValid; // 该项æ¯å¦ææ
public byte byType; // è§å®ä¹NET_DVR_PLAN_OPERATE_TYPE
public ushort wLayoutNo; // å¸å±å·
public byte byScreenStyle; //å±å¹åå·ï¼å¼å
³æºæç¨ï¼1æ¯ä½äº®ï¼2æ¯é«äº®
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 3, ArraySubType = UnmanagedType.I1)]
public byte[] byRes1;
public uint dwDelayTime; // ä¸ä¸ªé¡¹çè¿è¡æ¶é´, åä½ç§
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 32, ArraySubType = UnmanagedType.I1)]
public byte[] byRes2;
}
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_CYCLE_TIME
{
public byte byValid;
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 3, ArraySubType = UnmanagedType.I1)]
public byte[] byRes;
public NET_DVR_TIME_EX struTime;
}
/*é¢æ¡ç®¡ç*/
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_PLAN_CFG
{
public uint dwSize;
public byte byValid; // 该é¢æ¡æ¯å¦ææ
public byte byWorkMode; // é¢æ¡å·¥ä½æ¨¡å¼ 1表示æå¨ï¼2èªå¨ï¼3é¢æ¡å¾ªç¯
public byte byWallNo; //çµè§å¢å·ï¼ä»1å¼å§
public byte byRes1;
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = NAME_LEN, ArraySubType = UnmanagedType.I1)]
public byte[] byPlanName; //é¢æ¡å称
public NET_DVR_TIME_EX struTime; // å·¥ä½æ¨¡å¼ä¸ºèªå¨æ¶ä½¿ç¨
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = DAYS_A_WEEK, ArraySubType = UnmanagedType.Struct)]
public NET_DVR_CYCLE_TIME[] struTimeCycle; /*循ç¯æ¶é´ï¼å¨æ为ä¸ä¸ªææï¼å¹´ãæãæ¥ä¸ä¸ªåæ°ä¸ä½¿ç¨ãå¦ï¼struTimeCycle[0]ä¸çbyValidçå¼æ¯1ï¼è¡¨ç¤ºææ天æ§è¡è¯¥é¢æ¡ãææåå¼åºé´ä¸º[0,6]ï¼å
¶ä¸0代表ææ天ï¼1代表ææä¸ï¼ä»¥æ¤ç±»æ¨*/
public uint dwWorkCount; // é¢æ¡å
容æ§è¡æ¬¡æ°ï¼0为ä¸ç´å¾ªç¯ææ¾ï¼å
¶ä»å¼è¡¨ç¤ºæ¬¡æ°
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_PLAN_ACTION_NUM, ArraySubType = UnmanagedType.Struct)]
public NET_DVR_PLAN_INFO[] strPlanEntry; // é¢æ¡æ§è¡çå
容
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 64, ArraySubType = UnmanagedType.I1)]
public byte[] byRes2;
}
/*******************************è·å设å¤ç¶æ*******************************/
/*é¢æ¡å表*/
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_PLAN_LIST
{
public uint dwSize;
public uint dwPlanNums; //设å¤è¾å
¥ä¿¡å·æºæ°é
public IntPtr pBuffer; //æådwInputSignalNums个NET_DVR_PLAN_CFGç»æ大å°çç¼å²åº
public byte byWallNo; //å¢å·ï¼ä»1å¼å§
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 2, ArraySubType = UnmanagedType.I1)]
public byte[] byRes1;
public uint dwBufLen; //æåé
ç¼å²åºé¿åº¦ï¼è¾å
¥åæ°ï¼å¤§äºçäºdwInputSignalNums个NET_DVR_PLAN_CFGç»æ大å°ï¼
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 64, ArraySubType = UnmanagedType.I1)]
public byte[] byRes2;
}
/*******************************é¢æ¡æ§å¶*******************************/
//该ç»æä½å¯ä½ä¸ºéç¨æ§å¶ç»æä½
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_CONTROL_PARAM
{
public uint dwSize;
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = NAME_LEN, ArraySubType = UnmanagedType.I1)]
public byte[] sDeviceID; //被æ§è®¾å¤ç设å¤ID
public ushort wChan; //被æ§éé
public byte byIndex; //æ§å¶ç´¢å¼ï¼æ ¹æ®å½ä»¤ç¡®å®å
·ä½è¡¨ç¤ºä»ä¹ç´¢å¼
public byte byRes1;
public uint dwControlParam;
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 32, ArraySubType = UnmanagedType.I1)]
public byte[] byRes2;
}
/*******************************è·å设å¤ç¶æ*******************************/
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_DEVICE_RUN_STATUS
{
public uint dwSize;
public uint dwMemoryTotal; //å
åæ»é åä½Kbyte
public uint dwMemoryUsage; //å
å使ç¨é åä½Kbyte
public byte byCPUUsage; //CPU使ç¨ç 0-100
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 127, ArraySubType = UnmanagedType.I1)]
public byte[] byRes;
}
//91ç³»åHD-SDIé«æ¸
DVR ç¸æºä¿¡æ¯
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_ACCESS_CAMERA_INFO
{
public uint dwSize;
[MarshalAsAttribute(UnmanagedType.ByValTStr, SizeConst = 32)]
public string sCameraInfo; // å端ç¸æºä¿¡æ¯
public byte byInterfaceType; // å端æ¥å
¥æ¥å£ç±»åï¼1:VGA, 2:HDMI, 3:YPbPr 4:SDI 5:FC
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 3, ArraySubType = UnmanagedType.I1)]
public byte[] byRes1;
public uint dwChannel;
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 24, ArraySubType = UnmanagedType.I1)]
public byte[] byRes;
}
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_AUDIO_INPUT_PARAM
{
public byte byAudioInputType; //é³é¢è¾å
¥ç±»åï¼0-mic inï¼1-line in
public byte byVolume; //volume,[0-100]
public byte byEnableNoiseFilter; //æ¯å¦å¼å¯å£°é³è¿æ»¤-å
³ï¼-å¼
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 5, ArraySubType = UnmanagedType.I1)]
public byte[] byres;
}
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_CAMERA_DEHAZE_CFG
{
public uint dwSize;
public byte byDehazeMode; //0-ä¸å¯ç¨ï¼1-èªå¨æ¨¡å¼ï¼2-å¼
public byte byLevel; //ç级ï¼0-100
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 6, ArraySubType = UnmanagedType.I1)]
public byte[] byRes;
}
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_INPUT_SIGNAL_LIST
{
public uint dwSize;
public uint dwInputSignalNums; //设å¤è¾å
¥ä¿¡å·æºæ°é
public IntPtr pBuffer; //æådwInputSignalNums个NET_DVR_INPUTSTREAMCFGç»æ大å°çç¼å²åº
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 3, ArraySubType = UnmanagedType.I1)]
public byte[] byRes1;
public uint dwBufLen; //æåé
ç¼å²åºé¿åº¦ï¼è¾å
¥åæ°ï¼å¤§äºçäºdwInputSignalNums个NET_DVR_INPUTSTREAMCFGç»æ大å°ï¼
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 64, ArraySubType = UnmanagedType.I1)]
public byte[] byRes2;
}
//å®å
¨æçç¶æ
public const int PULL_DISK_SUCCESS = 1; // å®å
¨æçæå
public const int PULL_DISK_FAIL = 2; // å®å
¨æç失败
public const int PULL_DISK_PROCESSING = 3; // æ£å¨åæ¢éµå
public const int PULL_DISK_NO_ARRAY = 4; // éµåä¸åå¨
public const int PULL_DISK_NOT_SUPPORT = 5; // ä¸æ¯æå®å
¨æç
//æ«æéµåç¶æ
public const int SCAN_RAID_SUC = 1; // æ«æéµåæå
public const int SCAN_RAID_FAIL = 2; // æ«æéµå失败
public const int SCAN_RAID_PROCESSING = 3; // æ£å¨æ«æéµå
public const int SCAN_RAID_NOT_SUPPORT = 4; // ä¸æ¯æéµåæ«æ
//设置å端ç¸æºç±»åç¶æ
public const int SET_CAMERA_TYPE_SUCCESS = 1; // æå
public const int SET_CAMERA_TYPE_FAIL = 2; // 失败
public const int SET_CAMERA_TYPE_PROCESSING = 3; // æ£å¨å¤ç
//9000 2.2
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_RECORD_TIME_SPAN_INQUIRY
{
public uint dwSize; //ç»æä½å¤§å°
public byte byType; //0 æ£å¸¸é³è§é¢å½å, 1å¾çééå½å, 2ANRééå½å, 3æ½å¸§ééå½å
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 63, ArraySubType = UnmanagedType.I1)]
public byte[] byRes; //ä¿ç
}
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_RECORD_TIME_SPAN
{
public uint dwSize; //ç»æä½å¤§å°
public NET_DVR_TIME strBeginTime; //å¼å§æ¶é´
public NET_DVR_TIME strEndTime; //ç»ææ¶é´
public byte byType; //0 æ£å¸¸é³è§é¢å½å, 1å¾çééå½å, 2ANRééå½å, 3æ½å¸§ééå½å
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 35, ArraySubType = UnmanagedType.I1)]
public byte[] byRes; //ä¿ç
}
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_DRAWFRAME_DISK_QUOTA_CFG
{
public uint dwSize; //ç»æä½å¤§å°
public byte byPicQuota; //å¾çç¾åæ¯ [0%, 30%]
public byte byRecordQuota; //æ®éå½åç¾åæ¯ [20%, 40%]
public byte byDrawFrameRecordQuota; //æ½å¸§å½åç¾åæ¯ [30%, 80%]
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 61, ArraySubType = UnmanagedType.I1)]
public byte[] byRes; //ä¿çåè
}
//端å£æ å°é
ç½®ç»æä½
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_NAT_PORT
{
public ushort wEnable;
public ushort wExtPort;
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 12, ArraySubType = UnmanagedType.I1)]
public byte[] byRes;
}
//端å£æ å°é
ç½®ç»æä½
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_NAT_CFG
{
public uint dwSize;
public ushort wEnableUpnp;
public ushort wEnableNat;
public NET_DVR_IPADDR struIpAddr;//å¤æ¶å¶åæ¢æ¶é´
public NET_DVR_NAT_PORT struHttpPort;//å¤æ¶å¶åæ¢æ¶é´
public NET_DVR_NAT_PORT struCmdPort;//å¤æ¶å¶åæ¢æ¶é´
public NET_DVR_NAT_PORT struRtspPort;//å¤æ¶å¶åæ¢æ¶é´
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 64, ArraySubType = UnmanagedType.I1)]
public byte[] byFriendName;
public byte byNatType;
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 3, ArraySubType = UnmanagedType.I1)]
public byte[] byRes1;
public NET_DVR_NAT_PORT struHttpsPort;//å¤æ¶å¶åæ¢æ¶é´
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 76, ArraySubType = UnmanagedType.I1)]
public byte[] byRes;
}
//Upnp端å£æ å°ç¶æç»æä½
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_UPNP_PORT_STATE
{
public uint dwEnabled;//该端å£æ¯å¦è¢«ä½¿è½æ å°
public ushort wInternalPort;//æ å°åç端å£
public ushort wExternalPort;//æ å°åç端å£
public uint dwStatus;//端å£æ å°ç¶æï¼0- æªçæï¼1- æªçæï¼æ å°æºç«¯å£ä¸ç®ç端å£éä¸è´ï¼2- æªçæï¼æ å°ç«¯å£å·å·²è¢«ä½¿ç¨ï¼3- çæ
public NET_DVR_IPADDR struNatExternalIp;//æ å°åçå¤é¨å°å
public NET_DVR_IPADDR struNatInternalIp;
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 16, ArraySubType = UnmanagedType.I1)]
public byte[] byRes;//ä¿ç
}
//Upnp端å£æ å°ç¶æç»æä½
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_UPNP_NAT_STATE
{
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 12, ArraySubType = UnmanagedType.Struct)]
public NET_DVR_UPNP_PORT_STATE[] strUpnpPort;//端å£æ å°ç¶æ:ï¼æ°ç»0- web server端å£ï¼æ°ç»1- 管ç端å£ï¼æ°ç»2- rtsp端
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 200, ArraySubType = UnmanagedType.I1)]
public byte[] byRes;//ä¿ç
}
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_PLAYCOND
{
public uint dwChannel;
public NET_DVR_TIME struStartTime;
public NET_DVR_TIME struStopTime;
public byte byDrawFrame; //0:ä¸æ½å¸§ï¼1ï¼æ½å¸§
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 63, ArraySubType = UnmanagedType.I1)]
public byte[] byRes; //ä¿ç
}
//å½ååæ¾ç»æä½
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_VOD_PARA
{
public uint dwSize; //ç»æä½å¤§å°
public NET_DVR_STREAM_INFO struIDInfo; //æµIDä¿¡æ¯
public NET_DVR_TIME struBeginTime;//åæ¾å¼å§æ¶é´
public NET_DVR_TIME struEndTime;//åæ¾ç»ææ¶é´
public IntPtr hWnd;//åæ¾çªå£
public byte byDrawFrame;//æ¯å¦æ½å¸§ï¼0- ä¸æ½å¸§ï¼1- æ½å¸§
public byte byVolumeType;//0-æ®éå½åå·ï¼1-åæ¡£å·ï¼éç¨äºCVR设å¤ï¼æ®éå·ç¨äºééå½åï¼åæ¡£å·ç¨äºå¤ä»½å½å
public byte byVolumeNum;//åæ¡£å·å·
public byte byRes1;//ä¿ç
public uint dwFileIndex;//åæ¡£å·ä¸çå½åæ件索å¼ï¼æç´¢åæ¡£å·å½åæ¶è¿åçå¼
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 24, ArraySubType = UnmanagedType.I1)]
public byte[] byRes2; //ä¿ç
}
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_ATMFINDINFO
{
public byte byTransactionType; //交æç±»å 0-å
¨é¨ï¼1-æ¥è¯¢ï¼ 2-åæ¬¾ï¼ 3-åæ¬¾ï¼ 4-ä¿®æ¹å¯ç ï¼5-è½¬è´¦ï¼ 6-æ å¡æ¥è¯¢ 7-æ å¡åæ¬¾ï¼ 8-åé 9-åå¡ 10-èªå®ä¹
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 3, ArraySubType = UnmanagedType.I1)]
public byte[] byRes; //ä¿ç
public uint dwTransationAmount ; //交æéé¢ ;
}
[StructLayoutAttribute(LayoutKind.Explicit)]
public struct NET_DVR_SPECIAL_FINDINFO_UNION
{
[FieldOffsetAttribute(0)]
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 8, ArraySubType = UnmanagedType.I1)]
public byte[] byLenth ;
[FieldOffsetAttribute(0)]
public NET_DVR_ATMFINDINFO struATMFindInfo; //ATMæ¥è¯¢
}
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_FILECOND_V40
{
public Int32 lChannel;
public uint dwFileType;
public uint dwIsLocked;
public uint dwUseCardNo;
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = CARDNUM_LEN_OUT, ArraySubType = UnmanagedType.I1)]
public byte[] sCardNumber;
public NET_DVR_TIME struStartTime;
public NET_DVR_TIME struStopTime;
public byte byDrawFrame; //0:ä¸æ½å¸§ï¼1ï¼æ½å¸§
public byte byFindType; //0:æ¥è¯¢æ®éå·ï¼1ï¼æ¥è¯¢åæ¡£å·
public byte byQuickSearch; //0:æ®éæ¥è¯¢ï¼1ï¼å¿«éï¼æ¥åï¼æ¥è¯¢
public byte bySpecialFindInfoType ; //ä¸ææ¥è¯¢æ¡ä»¶ç±»å 0-æ æï¼ 1-带ATMæ¥è¯¢æ¡ä»¶
public uint dwVolumeNum; //åæ¡£å·å·
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = GUID_LEN, ArraySubType = UnmanagedType.I1)]
public byte[] byWorkingDeviceGUID; //å·¥ä½æºGUIDï¼éè¿è·åN+1å¾å°
public NET_DVR_SPECIAL_FINDINFO_UNION uSpecialFindInfo ; //ä¸ææ¥è¯¢æ¡ä»¶
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 32, ArraySubType = UnmanagedType.I1)]
public byte[] byRes2; //ä¿ç
}
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_AES_KEY_INFO
{
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 16, ArraySubType = UnmanagedType.I1)]
public byte[] sAESKey; /*ç æµå å¯å¯é¥*/
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 64, ArraySubType = UnmanagedType.I1)]
public byte[] byRes; /*ä¿çåè*/
}
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_POE_CFG
{
public NET_DVR_IPADDR struIP; //IPå°å
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 128, ArraySubType = UnmanagedType.I1)]
public byte[] byRes; //ä¿ç
}
public const int MAX_PRO_PATH = 256; //æ大å议路å¾é¿åº¦
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_CUSTOM_PROTOCAL
{
public uint dwSize; //ç»æä½å¤§å°
public uint dwEnabled; //æ¯å¦å¯ç¨è¯¥åè®®0 ä¸å¯ç¨ 1 å¯ç¨
[MarshalAsAttribute(UnmanagedType.ByValTStr, SizeConst = DESC_LEN)]
public string sProtocalName; //èªå®ä¹åè®®å称, 16ä½
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 64, ArraySubType = UnmanagedType.I1)]
public byte[] byRes1; //ä¿ç,ç¨äºåè®®å称æ©å±
public uint dwEnableSubStream; //åç æµæ¯å¦å¯ç¨0 ä¸å¯ç¨ 1 å¯ç¨
public byte byMainProType; //主ç æµå议类å 1 RTSP
public byte byMainTransType; //主ç æµä¼ è¾ç±»å 0ï¼Auto 1ï¼udp 2ï¼rtp over rtsp
public ushort wMainPort; //主ç æµç«¯å£
[MarshalAsAttribute(UnmanagedType.ByValTStr, SizeConst = MAX_PRO_PATH)]
public string sMainPath; //主ç æµè·¯å¾
public byte bySubProType; //åç æµå议类å 1 RTSP
public byte bySubTransType; //åç æµä¼ è¾ç±»å 0ï¼Auto 1ï¼udp 2ï¼rtp over rtsp
public ushort wSubPort; //åç æµç«¯å£
[MarshalAsAttribute(UnmanagedType.ByValTStr, SizeConst = MAX_PRO_PATH)]
public string sSubPath; //åç æµè·¯å¾
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 200, ArraySubType = UnmanagedType.I1)]
public byte[] byRes2; //ä¿ç
}
//é¢è§V40æ¥å£
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_PREVIEWINFO
{
public Int32 lChannel;//ééå·
public uint dwStreamType; // ç æµç±»åï¼0-主ç æµï¼1-åç æµï¼2-ç æµ3ï¼3-ç æµ4 ç以æ¤ç±»æ¨
public uint dwLinkMode;// 0ï¼TCPæ¹å¼,1ï¼UDPæ¹å¼,2ï¼å¤ææ¹å¼,3 - RTPæ¹å¼ï¼4-RTP/RTSP,5-RSTP/HTTP
public IntPtr hPlayWnd;//ææ¾çªå£çå¥æ,为NULL表示ä¸ææ¾å¾è±¡
public bool bBlocked; //0-éé»å¡åæµ, 1-é»å¡åæµ, å¦æé»å¡SDKå
é¨connect失败å°ä¼æ5sçè¶
æ¶æè½å¤è¿å,ä¸éåäºè½®è¯¢åæµæä½.
public bool bPassbackRecord; //0-ä¸å¯ç¨å½ååä¼ ,1å¯ç¨å½ååä¼
public byte byPreviewMode;//é¢è§æ¨¡å¼ï¼0-æ£å¸¸é¢è§ï¼1-延è¿é¢è§
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = STREAM_ID_LEN, ArraySubType = UnmanagedType.I1)]
public byte[] byStreamID;//æµIDï¼lChannel为0xffffffffæ¶å¯ç¨æ¤åæ°
public byte byProtoType; //åºç¨å±åæµåè®®ï¼0-ç§æåè®®ï¼1-RTSPåè®®
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 222, ArraySubType = UnmanagedType.I1)]
public byte[] byRes;
}
///æææº
///
public const int MAX_OVERLAP_ITEM_NUM = 50; //æ大å符å å ç§æ°
public const int NET_ITS_GET_OVERLAP_CFG = 5072;//è·åå符å å åæ°é
ç½®ï¼ç¸æºæITSç»ç«¯ï¼
public const int NET_ITS_SET_OVERLAP_CFG = 5073;//设置å符å å åæ°é
ç½®ï¼ç¸æºæITSç»ç«¯ï¼
//å符å å é
ç½®æ¡ä»¶åæ°ç»æä½
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_ITS_OVERLAPCFG_COND
{
public uint dwSize;
public uint dwChannel;//ééå·
public uint dwConfigMode;//é
置模å¼ï¼0- ç»ç«¯ï¼1- å端(ç´è¿å端æç»ç«¯æ¥å端)
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 16, ArraySubType = UnmanagedType.I1)]
public byte[] byRes;//ä¿ç
}
//åæ¡å符å å ä¿¡æ¯ç»æä½
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_ITS_OVERLAP_SINGLE_ITEM_PARAM
{
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 2, ArraySubType = UnmanagedType.I1)]
public byte[] byRes1;//ä¿ç
public byte byItemType;//ç±»å
public byte byChangeLineNum;//å å 项åçæ¢è¡æ°ï¼åå¼èå´ï¼[0,10]ï¼é»è®¤ï¼0
public byte bySpaceNum;//å å 项åçç©ºæ ¼æ°ï¼åå¼èå´ï¼[0-255]ï¼é»è®¤ï¼0
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 15, ArraySubType = UnmanagedType.I1)]
public byte[] byRes;//ä¿ç
}
//å符串åæ°é
ç½®ç»æä½
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_ITS_OVERLAP_ITEM_PARAM
{
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_OVERLAP_ITEM_NUM, ArraySubType = UnmanagedType.Struct)]
public NET_ITS_OVERLAP_SINGLE_ITEM_PARAM[] struSingleItem;//å符串å
容信æ¯
public uint dwLinePercent;
public uint dwItemsStlye;
public ushort wStartPosTop;
public ushort wStartPosLeft;
public ushort wCharStyle;
public ushort wCharSize;
public ushort wCharInterval;
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 2, ArraySubType = UnmanagedType.I1)]
public byte[] byRes1;//ä¿ç
public uint dwForeClorRGB;//åæ¯è²çRGBå¼ï¼bit0~bit7: Bï¼bit8~bit15: Gï¼bit16~bit23: Rï¼é»è®¤ï¼x00FFFFFF-ç½
public uint dwBackClorRGB;//èæ¯è²çRGBå¼ï¼åªå¯¹å¾çå¤å å ææï¼bit0~bit7: Bï¼bit8~bit15: Gï¼bit16~bit23: Rï¼é»è®¤ï¼x00000000-é»
public byte byColorAdapt;//é¢è²æ¯å¦èªéåºï¼0-å¦ï¼1-æ¯
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 31, ArraySubType = UnmanagedType.I1)]
public byte[] byRes;//ä¿ç
}
//å符å å å
容信æ¯ç»æä½
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_ITS_OVERLAP_INFO_PARAM
{
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 128, ArraySubType = UnmanagedType.I1)]
public byte[] bySite;//
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 32, ArraySubType = UnmanagedType.I1)]
public byte[] byRoadNum;//
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 32, ArraySubType = UnmanagedType.I1)]
public byte[] byInstrumentNum;//
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 32, ArraySubType = UnmanagedType.I1)]
public byte[] byDirection;//
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 32, ArraySubType = UnmanagedType.I1)]
public byte[] byDirectionDesc;//
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 32, ArraySubType = UnmanagedType.I1)]
public byte[] byLaneDes;//
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 32, ArraySubType = UnmanagedType.I1)]
public byte[] byRes1;//è¿éä¿çé³é¢çå缩åæ°
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 44, ArraySubType = UnmanagedType.I1)]
public byte[] byMonitoringSite1;//
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 32, ArraySubType = UnmanagedType.I1)]
public byte[] byMonitoringSite2;//è¿éä¿çé³é¢çå缩åæ°
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 64, ArraySubType = UnmanagedType.I1)]
public byte[] byRes;//è¿éä¿çé³é¢çå缩åæ°
}
//å符å å é
ç½®æ¡ä»¶åæ°ç»æä½
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_ITS_OVERLAP_CFG
{
public uint dwSize;
public byte byEnable;//æ¯å¦å¯ç¨ï¼0- ä¸å¯ç¨ï¼1- å¯ç¨
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 3, ArraySubType = UnmanagedType.I1)]
public byte[] byRes1;//è¿éä¿çé³é¢çå缩åæ°
public NET_ITS_OVERLAP_ITEM_PARAM struOverLapItem;//å符串åæ°
public NET_ITS_OVERLAP_INFO_PARAM struOverLapInfo;//å符串å
容信æ¯
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 32, ArraySubType = UnmanagedType.I1)]
public byte[] byRes;//è¿éä¿çé³é¢çå缩åæ°
}
//æ¥è¦å¸é²åæ°ç»æä½
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_SETUPALARM_PARAM
{
public uint dwSize;
public byte byLevel;//å¸é²ä¼å
级ï¼0- ä¸ç级ï¼é«ï¼ï¼1- äºç级ï¼ä¸ï¼ï¼2- ä¸ç级ï¼ä½ï¼ä¿çï¼
public byte byAlarmInfoType;//ä¸ä¼ æ¥è¦ä¿¡æ¯ç±»åï¼æºè½äº¤éæåæºæ¯æï¼ï¼0- èæ¥è¦ä¿¡æ¯ï¼NET_DVR_PLATE_RESULTï¼ï¼1- æ°æ¥è¦ä¿¡æ¯(NET_ITS_PLATE_RESULT)
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 14, ArraySubType = UnmanagedType.I1)]
public byte[] byRes;//è¿éä¿çé³é¢çå缩åæ°
}
/********************************æ¥å£åæ°ç»æ(end)*********************************/
/********************************SDKæ¥å£å½æ°å£°æ*********************************/
/*********************************************************
Function: NET_DVR_Init
Desc: åå§åSDKï¼è°ç¨å
¶ä»SDKå½æ°çåæã
Input:
Output:
Return: TRUE表示æåï¼FALSE表示失败ã
**********************************************************/
[DllImport(@"HaiKang\HCNetSDK.dll")]
public static extern bool NET_DVR_Init();
/*********************************************************
Function: NET_DVR_Cleanup
Desc: éæ¾SDKèµæºï¼å¨ç»æä¹åæåè°ç¨
Input:
Output:
Return: TRUE表示æåï¼FALSE表示失败
**********************************************************/
[DllImport(@"HaiKang\HCNetSDK.dll")]
public static extern bool NET_DVR_Cleanup();
[DllImport(@"HaiKang\HCNetSDK.dll")]
public static extern bool NET_DVR_SetDVRMessage(uint nMessage, IntPtr hWnd);
/*********************************************************
Function: EXCEPYIONCALLBACK
Desc: (åè°å½æ°)
Input:
Output:
Return:
**********************************************************/
public delegate void EXCEPYIONCALLBACK(uint dwType, int lUserID, int lHandle, IntPtr pUser);
[DllImport(@"HaiKang\HCNetSDK.dll")]
public static extern bool NET_DVR_SetExceptionCallBack_V30(uint nMessage, IntPtr hWnd, EXCEPYIONCALLBACK fExceptionCallBack, IntPtr pUser);
/*********************************************************
Function: MESSCALLBACK
Desc: (åè°å½æ°)
Input:
Output:
Return:
**********************************************************/
public delegate int MESSCALLBACK(int lCommand, string sDVRIP, string pBuf, uint dwBufLen);
[DllImport(@"HaiKang\HCNetSDK.dll")]
public static extern bool NET_DVR_SetDVRMessCallBack(MESSCALLBACK fMessCallBack);
/*********************************************************
Function: MESSCALLBACKEX
Desc: (åè°å½æ°)
Input:
Output:
Return:
**********************************************************/
public delegate int MESSCALLBACKEX(int iCommand, int iUserID, string pBuf, uint dwBufLen);
[DllImport(@"HaiKang\HCNetSDK.dll")]
public static extern bool NET_DVR_SetDVRMessCallBack_EX(MESSCALLBACKEX fMessCallBack_EX);
/*********************************************************
Function: MESSCALLBACKNEW
Desc: (åè°å½æ°)
Input:
Output:
Return:
**********************************************************/
public delegate int MESSCALLBACKNEW(int lCommand, string sDVRIP, string pBuf, uint dwBufLen, ushort dwLinkDVRPort);
[DllImport(@"HaiKang\HCNetSDK.dll")]
public static extern bool NET_DVR_SetDVRMessCallBack_NEW(MESSCALLBACKNEW fMessCallBack_NEW);
/*********************************************************
Function: MESSAGECALLBACK
Desc: (åè°å½æ°)
Input:
Output:
Return:
**********************************************************/
public delegate int MESSAGECALLBACK(int lCommand, System.IntPtr sDVRIP, System.IntPtr pBuf, uint dwBufLen, uint dwUser);
[DllImport(@"HaiKang\HCNetSDK.dll")]
public static extern bool NET_DVR_SetDVRMessageCallBack(MESSAGECALLBACK fMessageCallBack, uint dwUser);
/*********************************************************
Function: MSGCallBack
Desc: (åè°å½æ°)
Input:
Output:
Return:
**********************************************************/
public delegate void MSGCallBack(int lCommand, ref NET_DVR_ALARMER pAlarmer, IntPtr pAlarmInfo, uint dwBufLen, IntPtr pUser);
[DllImport(@"HaiKang\HCNetSDK.dll")]
public static extern bool NET_DVR_SetDVRMessageCallBack_V30(MSGCallBack fMessageCallBack, IntPtr pUser);
[DllImport(@"HaiKang\HCNetSDK.dll")]
public static extern bool NET_DVR_SetConnectTime(uint dwWaitTime, uint dwTryTimes);
[DllImport(@"HaiKang\HCNetSDK.dll")]
public static extern bool NET_DVR_SetReconnect(uint dwInterval, int bEnableRecon);
[DllImport(@"HaiKang\HCNetSDK.dll")]
public static extern uint NET_DVR_GetSDKVersion();
[DllImport(@"HaiKang\HCNetSDK.dll")]
public static extern uint NET_DVR_GetSDKBuildVersion();
[DllImport(@"HaiKang\HCNetSDK.dll")]
public static extern Int32 NET_DVR_IsSupport();
[DllImport(@"HaiKang\HCNetSDK.dll")]
public static extern bool NET_DVR_StartListen(string sLocalIP, ushort wLocalPort);
[DllImport(@"HaiKang\HCNetSDK.dll")]
public static extern bool NET_DVR_StopListen();
[DllImport(@"HaiKang\HCNetSDK.dll")]
public static extern int NET_DVR_StartListen_V30(String sLocalIP, ushort wLocalPort, MSGCallBack DataCallback, IntPtr pUserData);
[DllImport(@"HaiKang\HCNetSDK.dll")]
public static extern bool NET_DVR_StopListen_V30(Int32 lListenHandle);
[DllImport(@"HaiKang\HCNetSDK.dll")]
public static extern Int32 NET_DVR_Login(string sDVRIP, ushort wDVRPort, string sUserName, string sPassword, ref NET_DVR_DEVICEINFO lpDeviceInfo);
[DllImport(@"HaiKang\HCNetSDK.dll")]
public static extern bool NET_DVR_Logout(int iUserID);
[DllImport(@"HaiKang\HCNetSDK.dll")]
public static extern uint NET_DVR_GetLastError();
[DllImport(@"HaiKang\HCNetSDK.dll")]
public static extern string NET_DVR_GetErrorMsg(ref int pErrorNo);
[DllImport(@"HaiKang\HCNetSDK.dll")]
public static extern bool NET_DVR_SetShowMode(uint dwShowType, uint colorKey);
[DllImport(@"HaiKang\HCNetSDK.dll")]
public static extern bool NET_DVR_GetDVRIPByResolveSvr(string sServerIP, ushort wServerPort, string sDVRName, ushort wDVRNameLen, string sDVRSerialNumber, ushort wDVRSerialLen, IntPtr pGetIP);
[DllImport(@"HaiKang\HCNetSDK.dll")]
public static extern bool NET_DVR_GetDVRIPByResolveSvr_EX(string sServerIP, ushort wServerPort, byte[] sDVRName, ushort wDVRNameLen, byte[] sDVRSerialNumber, ushort wDVRSerialLen, byte[] sGetIP, ref uint dwPort);
//é¢è§ç¸å
³æ¥å£
[DllImport(@"HaiKang\HCNetSDK.dll")]
public static extern Int32 NET_DVR_RealPlay(int iUserID, ref NET_DVR_CLIENTINFO lpClientInfo);
[DllImport(@"HaiKang\HCNetSDK.dll")]
public static extern Int32 NET_SDK_RealPlay(int iUserLogID, ref NET_DVR_CLIENTINFO lpDVRClientInfo);
/*********************************************************
Function: REALDATACALLBACK
Desc: é¢è§åè°
Input: lRealHandle å½åçé¢è§å¥æ
dwDataType æ°æ®ç±»å
pBuffer åæ¾æ°æ®çç¼å²åºæé
dwBufSize ç¼å²åºå¤§å°
pUser ç¨æ·æ°æ®
Output:
Return: void
**********************************************************/
public delegate void REALDATACALLBACK(Int32 lRealHandle, UInt32 dwDataType, ref byte pBuffer, UInt32 dwBufSize, IntPtr pUser);
[DllImport(@"HaiKang\HCNetSDK.dll")]
/*********************************************************
Function: NET_DVR_RealPlay_V30
Desc: å®æ¶é¢è§ã
Input: lUserID [in] NET_DVR_Login()æNET_DVR_Login_V30()çè¿åå¼
lpClientInfo [in] é¢è§åæ°
cbRealDataCallBack [in] ç æµæ°æ®åè°å½æ°
pUser [in] ç¨æ·æ°æ®
bBlocked [in] 请æ±ç æµè¿ç¨æ¯å¦é»å¡ï¼0ï¼å¦ï¼1ï¼æ¯
Output:
Return: 1表示失败ï¼å
¶ä»å¼ä½ä¸ºNET_DVR_StopRealPlayçå½æ°çå¥æåæ°
**********************************************************/
public static extern int NET_DVR_RealPlay_V30(int iUserID, ref NET_DVR_CLIENTINFO lpClientInfo, REALDATACALLBACK fRealDataCallBack_V30, IntPtr pUser, UInt32 bBlocked);
/*********************************************************
Function: NET_DVR_RealPlay_V40
Desc: å®æ¶é¢è§æ©å±æ¥å£ã
Input: lUserID [in] NET_DVR_Login()æNET_DVR_Login_V30()çè¿åå¼
lpPreviewInfo [in] é¢è§åæ°
fRealDataCallBack_V30 [in] ç æµæ°æ®åè°å½æ°
pUser [in] ç¨æ·æ°æ®
Output:
Return: 1表示失败ï¼å
¶ä»å¼ä½ä¸ºNET_DVR_StopRealPlayçå½æ°çå¥æåæ°
**********************************************************/
[DllImport(@"HaiKang\HCNetSDK.dll")]
public static extern int NET_DVR_RealPlay_V40(int iUserID, ref NET_DVR_PREVIEWINFO lpPreviewInfo, REALDATACALLBACK fRealDataCallBack_V30, IntPtr pUser);
// [DllImport(@"HaiKang\HCNetSDK.dll")]
// public static extern int NET_DVR_GetRealPlayerIndex(int lRealHandle);
/*********************************************************
Function: NET_DVR_StopRealPlay
Desc: åæ¢é¢è§ã
Input: lRealHandle [in] é¢è§å¥æï¼NET_DVR_RealPlayæè
NET_DVR_RealPlay_V30çè¿åå¼
Output:
Return:
**********************************************************/
[DllImport(@"HaiKang\HCNetSDK.dll")]
public static extern bool NET_DVR_StopRealPlay(int iRealHandle);
/*********************************************************
Function: DRAWFUN
Desc: (åè°å½æ°)
Input:
Output:
Return:
**********************************************************/
public delegate void DRAWFUN(int lRealHandle, IntPtr hDc, uint dwUser);
[DllImport(@"HaiKang\HCNetSDK.dll")]
public static extern bool NET_DVR_RigisterDrawFun(int lRealHandle, DRAWFUN fDrawFun, uint dwUser);
[DllImport(@"HaiKang\HCNetSDK.dll")]
public static extern bool NET_DVR_SetPlayerBufNumber(Int32 lRealHandle, uint dwBufNum);
[DllImport(@"HaiKang\HCNetSDK.dll")]
public static extern bool NET_DVR_ThrowBFrame(Int32 lRealHandle, uint dwNum);
[DllImport(@"HaiKang\HCNetSDK.dll")]
public static extern bool NET_DVR_SetAudioMode(uint dwMode);
[DllImport(@"HaiKang\HCNetSDK.dll")]
public static extern bool NET_DVR_OpenSound(Int32 lRealHandle);
[DllImport(@"HaiKang\HCNetSDK.dll")]
public static extern bool NET_DVR_CloseSound();
[DllImport(@"HaiKang\HCNetSDK.dll")]
public static extern bool NET_DVR_OpenSoundShare(Int32 lRealHandle);
[DllImport(@"HaiKang\HCNetSDK.dll")]
public static extern bool NET_DVR_CloseSoundShare(Int32 lRealHandle);
[DllImport(@"HaiKang\HCNetSDK.dll")]
public static extern bool NET_DVR_Volume(Int32 lRealHandle, ushort wVolume);
[DllImport(@"HaiKang\HCNetSDK.dll")]
public static extern bool NET_DVR_SaveRealData(Int32 lRealHandle, string sFileName);
[DllImport(@"HaiKang\HCNetSDK.dll")]
public static extern bool NET_DVR_StopSaveRealData(Int32 lRealHandle);
/*********************************************************
Function: REALDATACALLBACK
Desc: (åè°å½æ°)
Input:
Output:
Return:
**********************************************************/
public delegate void SETREALDATACALLBACK(int lRealHandle, uint dwDataType, IntPtr pBuffer, uint dwBufSize, uint dwUser);
[DllImport(@"HaiKang\HCNetSDK.dll")]
public static extern bool NET_DVR_SetRealDataCallBack(int lRealHandle, SETREALDATACALLBACK fRealDataCallBack, uint dwUser);
/*********************************************************
Function: STDDATACALLBACK
Desc: (åè°å½æ°)
Input:
Output:
Return:
**********************************************************/
public delegate void STDDATACALLBACK(int lRealHandle, uint dwDataType, ref byte pBuffer, uint dwBufSize, uint dwUser);
[DllImport(@"HaiKang\HCNetSDK.dll")]
public static extern bool NET_DVR_SetStandardDataCallBack(int lRealHandle, STDDATACALLBACK fStdDataCallBack, uint dwUser);
[DllImport(@"HaiKang\HCNetSDK.dll")]
public static extern bool NET_DVR_CapturePicture(Int32 lRealHandle, string sPicFileName);
//å¨æçæI帧
[DllImport(@"HaiKang\HCNetSDK.dll")]
public static extern bool NET_DVR_MakeKeyFrame(Int32 lUserID, Int32 lChannel);//主ç æµ
[DllImport(@"HaiKang\HCNetSDK.dll")]
public static extern bool NET_DVR_MakeKeyFrameSub(Int32 lUserID, Int32 lChannel);//åç æµ
//äºå°æ§å¶ç¸å
³æ¥å£
[DllImport(@"HaiKang\HCNetSDK.dll")]
public static extern bool NET_DVR_GetPTZCtrl(Int32 lRealHandle);
[DllImport(@"HaiKang\HCNetSDK.dll")]
public static extern bool NET_DVR_GetPTZCtrl_Other(Int32 lUserID, int lChannel);
[DllImport(@"HaiKang\HCNetSDK.dll")]
public static extern bool NET_DVR_PTZControl(Int32 lRealHandle, uint dwPTZCommand, uint dwStop);
[DllImport(@"HaiKang\HCNetSDK.dll")]
public static extern bool NET_DVR_PTZControl_Other(Int32 lUserID, Int32 lChannel, uint dwPTZCommand, uint dwStop);
[DllImport(@"HaiKang\HCNetSDK.dll")]
public static extern bool NET_DVR_TransPTZ(Int32 lRealHandle, string pPTZCodeBuf, uint dwBufSize);
[DllImport(@"HaiKang\HCNetSDK.dll")]
public static extern bool NET_DVR_TransPTZ_Other(int lUserID, int lChannel, string pPTZCodeBuf, uint dwBufSize);
[DllImport(@"HaiKang\HCNetSDK.dll")]
public static extern bool NET_DVR_PTZPreset(int lRealHandle, uint dwPTZPresetCmd, uint dwPresetIndex);
[DllImport(@"HaiKang\HCNetSDK.dll")]
public static extern bool NET_DVR_PTZPreset_Other(int lUserID, int lChannel, uint dwPTZPresetCmd, uint dwPresetIndex);
[DllImport(@"HaiKang\HCNetSDK.dll")]
public static extern bool NET_DVR_TransPTZ_EX(int lRealHandle, string pPTZCodeBuf, uint dwBufSize);
[DllImport(@"HaiKang\HCNetSDK.dll")]
public static extern bool NET_DVR_PTZControl_EX(int lRealHandle, uint dwPTZCommand, uint dwStop);
[DllImport(@"HaiKang\HCNetSDK.dll")]
public static extern bool NET_DVR_PTZPreset_EX(int lRealHandle, uint dwPTZPresetCmd, uint dwPresetIndex);
[DllImport(@"HaiKang\HCNetSDK.dll")]
public static extern bool NET_DVR_PTZCruise(int lRealHandle, uint dwPTZCruiseCmd, byte byCruiseRoute, byte byCruisePoint, ushort wInput);
[DllImport(@"HaiKang\HCNetSDK.dll")]
public static extern bool NET_DVR_PTZCruise_Other(int lUserID, int lChannel, uint dwPTZCruiseCmd, byte byCruiseRoute, byte byCruisePoint, ushort wInput);
[DllImport(@"HaiKang\HCNetSDK.dll")]
public static extern bool NET_DVR_PTZCruise_EX(int lRealHandle, uint dwPTZCruiseCmd, byte byCruiseRoute, byte byCruisePoint, ushort wInput);
[DllImport(@"HaiKang\HCNetSDK.dll")]
public static extern bool NET_DVR_PTZTrack(int lRealHandle, uint dwPTZTrackCmd);
[DllImport(@"HaiKang\HCNetSDK.dll")]
public static extern bool NET_DVR_PTZTrack_Other(int lUserID, int lChannel, uint dwPTZTrackCmd);
[DllImport(@"HaiKang\HCNetSDK.dll")]
public static extern bool NET_DVR_PTZTrack_EX(int lRealHandle, uint dwPTZTrackCmd);
[DllImport(@"HaiKang\HCNetSDK.dll")]
public static extern bool NET_DVR_PTZControlWithSpeed(int lRealHandle, uint dwPTZCommand, uint dwStop, uint dwSpeed);
[DllImport(@"HaiKang\HCNetSDK.dll")]
public static extern bool NET_DVR_PTZControlWithSpeed_Other(int lUserID, int lChannel, int dwPTZCommand, int dwStop, int dwSpeed);
[DllImport(@"HaiKang\HCNetSDK.dll")]
public static extern bool NET_DVR_PTZControlWithSpeed_EX(int lRealHandle, uint dwPTZCommand, uint dwStop, uint dwSpeed);
[DllImport(@"HaiKang\HCNetSDK.dll")]
public static extern bool NET_DVR_GetPTZCruise(int lUserID, int lChannel, int lCruiseRoute, ref NET_DVR_CRUISE_RET lpCruiseRet);
[DllImport(@"HaiKang\HCNetSDK.dll")]
public static extern bool NET_DVR_PTZMltTrack(int lRealHandle, uint dwPTZTrackCmd, uint dwTrackIndex);
[DllImport(@"HaiKang\HCNetSDK.dll")]
public static extern bool NET_DVR_PTZMltTrack_Other(int lUserID, int lChannel, uint dwPTZTrackCmd, uint dwTrackIndex);
[DllImport(@"HaiKang\HCNetSDK.dll")]
public static extern bool NET_DVR_PTZMltTrack_EX(int lRealHandle, uint dwPTZTrackCmd, uint dwTrackIndex);
//æ件æ¥æ¾ä¸åæ¾
[DllImport(@"HaiKang\HCNetSDK.dll")]
public static extern int NET_DVR_FindFile(int lUserID, int lChannel, uint dwFileType, ref NET_DVR_TIME lpStartTime, ref NET_DVR_TIME lpStopTime);
[DllImport(@"HaiKang\HCNetSDK.dll")]
public static extern int NET_DVR_FindNextFile(int lFindHandle, ref NET_DVR_FIND_DATA lpFindData);
[DllImport(@"HaiKang\HCNetSDK.dll")]
public static extern bool NET_DVR_FindClose(int lFindHandle);
[DllImport(@"HaiKang\HCNetSDK.dll")]
public static extern int NET_DVR_FindNextFile_V30(int lFindHandle, ref NET_DVR_FINDDATA_V30 lpFindData);
[DllImport(@"HaiKang\HCNetSDK.dll")]
public static extern int NET_DVR_FindNextFile_V40(int lFindHandle, ref NET_DVR_FINDDATA_V40 lpFindData);
[DllImport(@"HaiKang\HCNetSDK.dll")]
public static extern int NET_DVR_FindFile_V30(int lUserID, ref NET_DVR_FILECOND pFindCond);
[DllImport(@"HaiKang\HCNetSDK.dll")]
public static extern int NET_DVR_FindFile_V40(int lUserID, ref NET_DVR_FILECOND_V40 pFindCond);
[DllImport(@"HaiKang\HCNetSDK.dll")]
public static extern bool NET_DVR_FindClose_V30(int lFindHandle);
//2007-04-16å¢å æ¥è¯¢ç»æ带å¡å·çæ件æ¥æ¾
[DllImport(@"HaiKang\HCNetSDK.dll")]
public static extern int NET_DVR_FindNextFile_Card(int lFindHandle, ref NET_DVR_FINDDATA_CARD lpFindData);
[DllImport(@"HaiKang\HCNetSDK.dll")]
public static extern int NET_DVR_FindFile_Card(int lUserID, int lChannel, uint dwFileType, ref NET_DVR_TIME lpStartTime, ref NET_DVR_TIME lpStopTime);
[DllImport(@"HaiKang\HCNetSDK.dll")]
public static extern bool NET_DVR_LockFileByName(int lUserID, string sLockFileName);
[DllImport(@"HaiKang\HCNetSDK.dll")]
public static extern bool NET_DVR_UnlockFileByName(int lUserID, string sUnlockFileName);
[DllImport(@"HaiKang\HCNetSDK.dll")]
public static extern int NET_DVR_PlayBackByName(int lUserID, string sPlayBackFileName, IntPtr hWnd);
[DllImport(@"HaiKang\HCNetSDK.dll")]
public static extern int NET_DVR_PlayBackByTime(int lUserID, int lChannel, ref NET_DVR_TIME lpStartTime, ref NET_DVR_TIME lpStopTime, System.IntPtr hWnd);
[DllImport(@"HaiKang\HCNetSDK.dll")]
public static extern int NET_DVR_PlayBackByTime_V40(int lUserID, ref NET_DVR_VOD_PARA pVodPara);
[DllImport(@"HaiKang\HCNetSDK.dll")]
public static extern bool NET_DVR_PlayBackControl(int lPlayHandle, uint dwControlCode, uint dwInValue, ref uint LPOutValue);
[DllImport(@"HaiKang\HCNetSDK.dll")]
public static extern bool NET_DVR_PlayBackControl_V40(int lPlayHandle, uint dwControlCode, IntPtr lpInBuffer, uint dwInValue, IntPtr lpOutBuffer, ref uint LPOutValue);
[DllImport(@"HaiKang\HCNetSDK.dll")]
public static extern bool NET_DVR_StopPlayBack(int lPlayHandle);
/*********************************************************
Function: PLAYDATACALLBACK
Desc: (åè°å½æ°)
Input:
Output:
Return:
**********************************************************/
public delegate void PLAYDATACALLBACK(int lPlayHandle, uint dwDataType, IntPtr pBuffer, uint dwBufSize, uint dwUser);
[DllImport(@"HaiKang\HCNetSDK.dll")]
public static extern bool NET_DVR_SetPlayDataCallBack(int lPlayHandle, PLAYDATACALLBACK fPlayDataCallBack, uint dwUser);
[DllImport(@"HaiKang\HCNetSDK.dll")]
public static extern bool NET_DVR_PlayBackSaveData(int lPlayHandle, string sFileName);
[DllImport(@"HaiKang\HCNetSDK.dll")]
public static extern bool NET_DVR_StopPlayBackSave(int lPlayHandle);
[DllImport(@"HaiKang\HCNetSDK.dll")]
public static extern bool NET_DVR_GetPlayBackOsdTime(int lPlayHandle, ref NET_DVR_TIME lpOsdTime);
[DllImport(@"HaiKang\HCNetSDK.dll")]
public static extern bool NET_DVR_PlayBackCaptureFile(int lPlayHandle, string sFileName);
[DllImport(@"HaiKang\HCNetSDK.dll")]
public static extern int NET_DVR_GetFileByName(int lUserID, string sDVRFileName, string sSavedFileName);
[DllImport(@"HaiKang\HCNetSDK.dll")]
public static extern int NET_DVR_GetFileByTime(int lUserID, int lChannel, ref NET_DVR_TIME lpStartTime, ref NET_DVR_TIME lpStopTime, string sSavedFileName);
[DllImport(@"HaiKang\HCNetSDK.dll")]
public static extern int NET_DVR_GetFileByTime_V40(int lUserID, string sSavedFileName, ref NET_DVR_PLAYCOND pDownloadCond);
[DllImport(@"HaiKang\HCNetSDK.dll")]
public static extern bool NET_DVR_StopGetFile(int lFileHandle);
[DllImport(@"HaiKang\HCNetSDK.dll")]
public static extern int NET_DVR_GetDownloadPos(int lFileHandle);
[DllImport(@"HaiKang\HCNetSDK.dll")]
public static extern int NET_DVR_GetPlayBackPos(int lPlayHandle);
//å级
[DllImport(@"HaiKang\HCNetSDK.dll")]
public static extern int NET_DVR_Upgrade(int lUserID, string sFileName);
[DllImport(@"HaiKang\HCNetSDK.dll")]
public static extern int NET_DVR_GetUpgradeState(int lUpgradeHandle);
[DllImport(@"HaiKang\HCNetSDK.dll")]
public static extern int NET_DVR_GetUpgradeProgress(int lUpgradeHandle);
[DllImport(@"HaiKang\HCNetSDK.dll")]
public static extern bool NET_DVR_CloseUpgradeHandle(int lUpgradeHandle);
[DllImport(@"HaiKang\HCNetSDK.dll")]
public static extern bool NET_DVR_SetNetworkEnvironment(uint dwEnvironmentLevel);
//è¿ç¨æ ¼å¼å硬ç
[DllImport(@"HaiKang\HCNetSDK.dll")]
public static extern int NET_DVR_FormatDisk(int lUserID, int lDiskNumber);
[DllImport(@"HaiKang\HCNetSDK.dll")]
public static extern bool NET_DVR_GetFormatProgress(int lFormatHandle, ref int pCurrentFormatDisk, ref int pCurrentDiskPos, ref int pFormatStatic);
[DllImport(@"HaiKang\HCNetSDK.dll")]
public static extern bool NET_DVR_CloseFormatHandle(int lFormatHandle);
//æ¥è¦
[DllImport(@"HaiKang\HCNetSDK.dll")]
public static extern int NET_DVR_SetupAlarmChan(int lUserID);
[DllImport(@"HaiKang\HCNetSDK.dll")]
public static extern bool NET_DVR_CloseAlarmChan(int lAlarmHandle);
[DllImport(@"HaiKang\HCNetSDK.dll")]
public static extern int NET_DVR_SetupAlarmChan_V30(int lUserID);
[DllImport(@"HaiKang\HCNetSDK.dll")]
public static extern bool NET_DVR_CloseAlarmChan_V30(int lAlarmHandle);
//è¯é³å¯¹è®²
/*********************************************************
Function: VOICEDATACALLBACK
Desc: (åè°å½æ°)
Input:
Output:
Return:
**********************************************************/
public delegate void VOICEDATACALLBACK(int lVoiceComHandle, string pRecvDataBuffer, uint dwBufSize, byte byAudioFlag, uint dwUser);
[DllImport(@"HaiKang\HCNetSDK.dll")]
public static extern int NET_DVR_StartVoiceCom(int lUserID, VOICEDATACALLBACK fVoiceDataCallBack, uint dwUser);
/*********************************************************
Function: VOICEDATACALLBACKV30
Desc: (åè°å½æ°)
Input:
Output:
Return:
**********************************************************/
public delegate void VOICEDATACALLBACKV30(int lVoiceComHandle, string pRecvDataBuffer, uint dwBufSize, byte byAudioFlag, System.IntPtr pUser);
[DllImport(@"HaiKang\HCNetSDK.dll")]
public static extern int NET_DVR_StartVoiceCom_V30(int lUserID, uint dwVoiceChan, bool bNeedCBNoEncData, VOICEDATACALLBACKV30 fVoiceDataCallBack, IntPtr pUser);
[DllImport(@"HaiKang\HCNetSDK.dll")]
public static extern bool NET_DVR_SetVoiceComClientVolume(int lVoiceComHandle, ushort wVolume);
[DllImport(@"HaiKang\HCNetSDK.dll")]
public static extern bool NET_DVR_StopVoiceCom(int lVoiceComHandle);
//è¯é³è½¬å
[DllImport(@"HaiKang\HCNetSDK.dll")]
public static extern int NET_DVR_StartVoiceCom_MR(int lUserID, VOICEDATACALLBACK fVoiceDataCallBack, uint dwUser);
[DllImport(@"HaiKang\HCNetSDK.dll")]
public static extern int NET_DVR_StartVoiceCom_MR_V30(int lUserID, uint dwVoiceChan, VOICEDATACALLBACKV30 fVoiceDataCallBack, IntPtr pUser);
[DllImport(@"HaiKang\HCNetSDK.dll")]
public static extern bool NET_DVR_VoiceComSendData(int lVoiceComHandle, string pSendBuf, uint dwBufSize);
//è¯é³å¹¿æ
[DllImport(@"HaiKang\HCNetSDK.dll")]
public static extern bool NET_DVR_ClientAudioStart();
/*********************************************************
Function: VOICEAUDIOSTART
Desc: (åè°å½æ°)
Input:
Output:
Return:
**********************************************************/
public delegate void VOICEAUDIOSTART(string pRecvDataBuffer, uint dwBufSize, IntPtr pUser);
[DllImport(@"HaiKang\HCNetSDK.dll")]
public static extern bool NET_DVR_ClientAudioStart_V30(VOICEAUDIOSTART fVoiceAudioStart, IntPtr pUser);
[DllImport(@"HaiKang\HCNetSDK.dll")]
public static extern bool NET_DVR_ClientAudioStop();
[DllImport(@"HaiKang\HCNetSDK.dll")]
public static extern bool NET_DVR_AddDVR(int lUserID);
[DllImport(@"HaiKang\HCNetSDK.dll")]
public static extern int NET_DVR_AddDVR_V30(int lUserID, uint dwVoiceChan);
[DllImport(@"HaiKang\HCNetSDK.dll")]
public static extern bool NET_DVR_DelDVR(int lUserID);
[DllImport(@"HaiKang\HCNetSDK.dll")]
public static extern bool NET_DVR_DelDVR_V30(int lVoiceHandle);
//éæéé设置
/*********************************************************
Function: SERIALDATACALLBACK
Desc: (åè°å½æ°)
Input:
Output:
Return:
**********************************************************/
public delegate void SERIALDATACALLBACK(int lSerialHandle, IntPtr pRecvDataBuffer, uint dwBufSize, uint dwUser);
[DllImport(@"HaiKang\HCNetSDK.dll")]
public static extern int NET_DVR_SetupAlarmChan_V41(int lUserID, ref NET_DVR_SETUPALARM_PARAM lpSetupParam);
[DllImport(@"HaiKang\HCNetSDK.dll")]
public static extern int NET_DVR_SerialStart(int lUserID, int lSerialPort, SERIALDATACALLBACK fSerialDataCallBack, uint dwUser);
//485ä½ä¸ºéæééæ¶ï¼éè¦ææééå·ï¼å 为ä¸åééå·485ç设置å¯ä»¥ä¸å(æ¯å¦æ³¢ç¹ç)
[DllImport(@"HaiKang\HCNetSDK.dll")]
public static extern bool NET_DVR_SerialSend(int lSerialHandle, int lChannel, string pSendBuf, uint dwBufSize);
[DllImport(@"HaiKang\HCNetSDK.dll")]
public static extern bool NET_DVR_SerialStop(int lSerialHandle);
[DllImport(@"HaiKang\HCNetSDK.dll")]
public static extern bool NET_DVR_SendTo232Port(int lUserID, string pSendBuf, uint dwBufSize);
[DllImport(@"HaiKang\HCNetSDK.dll")]
public static extern bool NET_DVR_SendToSerialPort(int lUserID, uint dwSerialPort, uint dwSerialIndex, string pSendBuf, uint dwBufSize);
//解ç nBitrate = 16000
[DllImport(@"HaiKang\HCNetSDK.dll")]
public static extern System.IntPtr NET_DVR_InitG722Decoder(int nBitrate);
[DllImport(@"HaiKang\HCNetSDK.dll")]
public static extern void NET_DVR_ReleaseG722Decoder(IntPtr pDecHandle);
[DllImport(@"HaiKang\HCNetSDK.dll")]
public static extern bool NET_DVR_DecodeG722Frame(IntPtr pDecHandle, ref byte pInBuffer, ref byte pOutBuffer);
//ç¼ç
[DllImport(@"HaiKang\HCNetSDK.dll")]
public static extern IntPtr NET_DVR_InitG722Encoder();
[DllImport(@"HaiKang\HCNetSDK.dll")]
public static extern bool NET_DVR_EncodeG722Frame(IntPtr pEncodeHandle, ref byte pInBuffer, ref byte pOutBuffer);
[DllImport(@"HaiKang\HCNetSDK.dll")]
public static extern void NET_DVR_ReleaseG722Encoder(IntPtr pEncodeHandle);
//è¿ç¨æ§å¶æ¬å°æ¾ç¤º
[DllImport(@"HaiKang\HCNetSDK.dll")]
public static extern bool NET_DVR_ClickKey(int lUserID, int lKeyIndex);
//è¿ç¨æ§å¶è®¾å¤ç«¯æå¨å½å
[DllImport(@"HaiKang\HCNetSDK.dll")]
public static extern bool NET_DVR_StartDVRRecord(int lUserID, int lChannel, int lRecordType);
[DllImport(@"HaiKang\HCNetSDK.dll")]
public static extern bool NET_DVR_StopDVRRecord(int lUserID, int lChannel);
//解ç å¡
[DllImport(@"HaiKang\HCNetSDK.dll")]
public static extern bool NET_DVR_InitDevice_Card(ref int pDeviceTotalChan);
[DllImport(@"HaiKang\HCNetSDK.dll")]
public static extern bool NET_DVR_ReleaseDevice_Card();
[DllImport(@"HaiKang\HCNetSDK.dll")]
public static extern bool NET_DVR_InitDDraw_Card(IntPtr hParent, uint colorKey);
[DllImport(@"HaiKang\HCNetSDK.dll")]
public static extern bool NET_DVR_ReleaseDDraw_Card();
[DllImport(@"HaiKang\HCNetSDK.dll")]
public static extern int NET_DVR_RealPlay_Card(int lUserID, ref NET_DVR_CARDINFO lpCardInfo, int lChannelNum);
[DllImport(@"HaiKang\HCNetSDK.dll")]
public static extern bool NET_DVR_ResetPara_Card(int lRealHandle, ref NET_DVR_DISPLAY_PARA lpDisplayPara);
[DllImport(@"HaiKang\HCNetSDK.dll")]
public static extern bool NET_DVR_RefreshSurface_Card();
[DllImport(@"HaiKang\HCNetSDK.dll")]
public static extern bool NET_DVR_ClearSurface_Card();
[DllImport(@"HaiKang\HCNetSDK.dll")]
public static extern bool NET_DVR_RestoreSurface_Card();
[DllImport(@"HaiKang\HCNetSDK.dll")]
public static extern bool NET_DVR_OpenSound_Card(int lRealHandle);
[DllImport(@"HaiKang\HCNetSDK.dll")]
public static extern bool NET_DVR_CloseSound_Card(int lRealHandle);
[DllImport(@"HaiKang\HCNetSDK.dll")]
public static extern bool NET_DVR_SetVolume_Card(int lRealHandle, ushort wVolume);
[DllImport(@"HaiKang\HCNetSDK.dll")]
public static extern bool NET_DVR_AudioPreview_Card(int lRealHandle, int bEnable);
[DllImport(@"HaiKang\HCNetSDK.dll")]
public static extern int NET_DVR_GetCardLastError_Card();
[DllImport(@"HaiKang\HCNetSDK.dll")]
public static extern System.IntPtr NET_DVR_GetChanHandle_Card(int lRealHandle);
[DllImport(@"HaiKang\HCNetSDK.dll")]
public static extern bool NET_DVR_CapturePicture_Card(int lRealHandle, string sPicFileName);
//è·å解ç å¡åºåå·æ¤æ¥å£æ æï¼æ¹ç¨GetBoardDetailæ¥å£è·å¾(2005-12-08æ¯æ)
[DllImport(@"HaiKang\HCNetSDK.dll")]
public static extern bool NET_DVR_GetSerialNum_Card(int lChannelNum, ref uint pDeviceSerialNo);
//æ¥å¿
[DllImport(@"HaiKang\HCNetSDK.dll")]
public static extern int NET_DVR_FindDVRLog(int lUserID, int lSelectMode, uint dwMajorType, uint dwMinorType, ref NET_DVR_TIME lpStartTime, ref NET_DVR_TIME lpStopTime);
[DllImport(@"HaiKang\HCNetSDK.dll")]
public static extern int NET_DVR_FindNextLog(int lLogHandle, ref NET_DVR_LOG lpLogData);
[DllImport(@"HaiKang\HCNetSDK.dll")]
public static extern bool NET_DVR_FindLogClose(int lLogHandle);
[DllImport(@"HaiKang\HCNetSDK.dll")]
public static extern int NET_DVR_FindDVRLog_V30(int lUserID, int lSelectMode, uint dwMajorType, uint dwMinorType, ref NET_DVR_TIME lpStartTime, ref NET_DVR_TIME lpStopTime, bool bOnlySmart);
[DllImport(@"HaiKang\HCNetSDK.dll")]
public static extern int NET_DVR_FindNextLog_V30(int lLogHandle, ref NET_DVR_LOG_V30 lpLogData);
[DllImport(@"HaiKang\HCNetSDK.dll")]
public static extern bool NET_DVR_FindLogClose_V30(int lLogHandle);
//æªæ¢2004å¹´8æ5æ¥,å
±113个æ¥å£
//ATM DVR
[DllImport(@"HaiKang\HCNetSDK.dll")]
public static extern int NET_DVR_FindFileByCard(int lUserID, int lChannel, uint dwFileType, int nFindType, ref byte sCardNumber, ref NET_DVR_TIME lpStartTime, ref NET_DVR_TIME lpStopTime);
//2005-09-15
[DllImport(@"HaiKang\HCNetSDK.dll")]
public static extern bool NET_DVR_CaptureJPEGPicture(int lUserID, int lChannel, ref NET_DVR_JPEGPARA lpJpegPara, string sPicFileName);
//JPEGæå¾å°å
å
[DllImport(@"HaiKang\HCNetSDK.dll")]
public static extern bool NET_DVR_CaptureJPEGPicture_NEW(int lUserID, int lChannel, ref NET_DVR_JPEGPARA lpJpegPara, byte[] sJpegPicBuffer, uint dwPicSize, ref uint lpSizeReturned);
//2006-02-16
[DllImport(@"HaiKang\HCNetSDK.dll")]
public static extern int NET_DVR_GetRealPlayerIndex(int lRealHandle);
[DllImport(@"HaiKang\HCNetSDK.dll")]
public static extern int NET_DVR_GetPlayBackPlayerIndex(int lPlayHandle);
//2006-08-28 704-640 缩æ¾é
ç½®
[DllImport(@"HaiKang\HCNetSDK.dll")]
public static extern bool NET_DVR_SetScaleCFG(int lUserID, uint dwScale);
[DllImport(@"HaiKang\HCNetSDK.dll")]
public static extern bool NET_DVR_GetScaleCFG(int lUserID, ref uint lpOutScale);
[DllImport(@"HaiKang\HCNetSDK.dll")]
public static extern bool NET_DVR_SetScaleCFG_V30(int lUserID, ref NET_DVR_SCALECFG pScalecfg);
[DllImport(@"HaiKang\HCNetSDK.dll")]
public static extern bool NET_DVR_GetScaleCFG_V30(int lUserID, ref NET_DVR_SCALECFG pScalecfg);
//2006-08-28 ATMæºç«¯å£è®¾ç½®
[DllImport(@"HaiKang\HCNetSDK.dll")]
public static extern bool NET_DVR_SetATMPortCFG(int lUserID, ushort wATMPort);
[DllImport(@"HaiKang\HCNetSDK.dll")]
public static extern bool NET_DVR_GetATMPortCFG(int lUserID, ref ushort LPOutATMPort);
//2006-11-10 æ¯ææ¾å¡è¾
å©è¾åº
[DllImport(@"HaiKang\HCNetSDK.dll")]
public static extern bool NET_DVR_InitDDrawDevice();
[DllImport(@"HaiKang\HCNetSDK.dll")]
public static extern bool NET_DVR_ReleaseDDrawDevice();
[DllImport(@"HaiKang\HCNetSDK.dll")]
public static extern int NET_DVR_GetDDrawDeviceTotalNums();
[DllImport(@"HaiKang\HCNetSDK.dll")]
public static extern bool NET_DVR_SetDDrawDevice(int lPlayPort, uint nDeviceNum);
[DllImport(@"HaiKang\HCNetSDK.dll")]
public static extern bool NET_DVR_PTZSelZoomIn(int lRealHandle, ref NET_DVR_POINT_FRAME pStruPointFrame);
[DllImport(@"HaiKang\HCNetSDK.dll")]
public static extern bool NET_DVR_PTZSelZoomIn_EX(int lUserID, int lChannel, ref NET_DVR_POINT_FRAME pStruPointFrame);
//解ç 设å¤DS-6001D/DS-6001F
[DllImport(@"HaiKang\HCNetSDK.dll")]
public static extern bool NET_DVR_StartDecode(int lUserID, int lChannel, ref NET_DVR_DECODERINFO lpDecoderinfo);
[DllImport(@"HaiKang\HCNetSDK.dll")]
public static extern bool NET_DVR_StopDecode(int lUserID, int lChannel);
[DllImport(@"HaiKang\HCNetSDK.dll")]
public static extern bool NET_DVR_GetDecoderState(int lUserID, int lChannel, ref NET_DVR_DECODERSTATE lpDecoderState);
//2005-08-01
[DllImport(@"HaiKang\HCNetSDK.dll")]
public static extern bool NET_DVR_SetDecInfo(int lUserID, int lChannel, ref NET_DVR_DECCFG lpDecoderinfo);
[DllImport(@"HaiKang\HCNetSDK.dll")]
public static extern bool NET_DVR_GetDecInfo(int lUserID, int lChannel, ref NET_DVR_DECCFG lpDecoderinfo);
[DllImport(@"HaiKang\HCNetSDK.dll")]
public static extern bool NET_DVR_SetDecTransPort(int lUserID, ref NET_DVR_PORTCFG lpTransPort);
[DllImport(@"HaiKang\HCNetSDK.dll")]
public static extern bool NET_DVR_GetDecTransPort(int lUserID, ref NET_DVR_PORTCFG lpTransPort);
[DllImport(@"HaiKang\HCNetSDK.dll")]
public static extern bool NET_DVR_DecPlayBackCtrl(int lUserID, int lChannel, uint dwControlCode, uint dwInValue, ref uint LPOutValue, ref NET_DVR_PLAYREMOTEFILE lpRemoteFileInfo);
[DllImport(@"HaiKang\HCNetSDK.dll")]
public static extern bool NET_DVR_StartDecSpecialCon(int lUserID, int lChannel, ref NET_DVR_DECCHANINFO lpDecChanInfo);
[DllImport(@"HaiKang\HCNetSDK.dll")]
public static extern bool NET_DVR_StopDecSpecialCon(int lUserID, int lChannel, ref NET_DVR_DECCHANINFO lpDecChanInfo);
[DllImport(@"HaiKang\HCNetSDK.dll")]
public static extern bool NET_DVR_DecCtrlDec(int lUserID, int lChannel, uint dwControlCode);
[DllImport(@"HaiKang\HCNetSDK.dll")]
public static extern bool NET_DVR_DecCtrlScreen(int lUserID, int lChannel, uint dwControl);
[DllImport(@"HaiKang\HCNetSDK.dll")]
public static extern bool NET_DVR_GetDecCurLinkStatus(int lUserID, int lChannel, ref NET_DVR_DECSTATUS lpDecStatus);
//å¤è·¯è§£ç å¨
//2007-11-30 V211æ¯æ以ä¸æ¥å£ //11
[DllImport(@"HaiKang\HCNetSDK.dll")]
public static extern bool NET_DVR_MatrixStartDynamic(int lUserID, uint dwDecChanNum, ref NET_DVR_MATRIX_DYNAMIC_DEC lpDynamicInfo);
[DllImport(@"HaiKang\HCNetSDK.dll")]
public static extern bool NET_DVR_MatrixStopDynamic(int lUserID, int dwDecChanNum);
[DllImport(@"HaiKang\HCNetSDK.dll")]
public static extern bool NET_DVR_MatrixGetDecChanInfo(int lUserID, uint dwDecChanNum, ref NET_DVR_MATRIX_DEC_CHAN_INFO lpInter);
[DllImport(@"HaiKang\HCNetSDK.dll")]
public static extern bool NET_DVR_MatrixSetLoopDecChanInfo(int lUserID, uint dwDecChanNum, ref NET_DVR_MATRIX_LOOP_DECINFO lpInter);
[DllImport(@"HaiKang\HCNetSDK.dll")]
public static extern bool NET_DVR_MatrixGetLoopDecChanInfo(int lUserID, uint dwDecChanNum, ref NET_DVR_MATRIX_LOOP_DECINFO lpInter);
[DllImport(@"HaiKang\HCNetSDK.dll")]
public static extern bool NET_DVR_MatrixSetLoopDecChanEnable(int lUserID, uint dwDecChanNum, uint dwEnable);
[DllImport(@"HaiKang\HCNetSDK.dll")]
public static extern bool NET_DVR_MatrixGetLoopDecChanEnable(int lUserID, uint dwDecChanNum, ref uint lpdwEnable);
[DllImport(@"HaiKang\HCNetSDK.dll")]
public static extern bool NET_DVR_MatrixGetLoopDecEnable(int lUserID, ref uint lpdwEnable);
[DllImport(@"HaiKang\HCNetSDK.dll")]
public static extern bool NET_DVR_MatrixSetDecChanEnable(int lUserID, uint dwDecChanNum, uint dwEnable);
[DllImport(@"HaiKang\HCNetSDK.dll")]
public static extern bool NET_DVR_MatrixGetDecChanEnable(int lUserID, uint dwDecChanNum, ref uint lpdwEnable);
[DllImport(@"HaiKang\HCNetSDK.dll")]
public static extern bool NET_DVR_MatrixGetDecChanStatus(int lUserID, uint dwDecChanNum, ref NET_DVR_MATRIX_DEC_CHAN_STATUS lpInter);
//2007-12-22 å¢å æ¯ææ¥å£ //18
[DllImport(@"HaiKang\HCNetSDK.dll")]
public static extern bool NET_DVR_MatrixSetTranInfo(int lUserID, ref NET_DVR_MATRIX_TRAN_CHAN_CONFIG lpTranInfo);
[DllImport(@"HaiKang\HCNetSDK.dll")]
public static extern bool NET_DVR_MatrixGetTranInfo(int lUserID, ref NET_DVR_MATRIX_TRAN_CHAN_CONFIG lpTranInfo);
[DllImport(@"HaiKang\HCNetSDK.dll")]
public static extern bool NET_DVR_MatrixSetRemotePlay(int lUserID, uint dwDecChanNum, ref NET_DVR_MATRIX_DEC_REMOTE_PLAY lpInter);
[DllImport(@"HaiKang\HCNetSDK.dll")]
public static extern bool NET_DVR_MatrixSetRemotePlayControl(int lUserID, uint dwDecChanNum, uint dwControlCode, uint dwInValue, ref uint LPOutValue);
[DllImport(@"HaiKang\HCNetSDK.dll")]
public static extern bool NET_DVR_MatrixGetRemotePlayStatus(int lUserID, uint dwDecChanNum, ref NET_DVR_MATRIX_DEC_REMOTE_PLAY_STATUS lpOuter);
//2009-4-13 æ°å¢
[DllImport(@"HaiKang\HCNetSDK.dll")]
public static extern bool NET_DVR_MatrixStartDynamic_V30(int lUserID, uint dwDecChanNum, ref NET_DVR_PU_STREAM_CFG lpDynamicInfo);
[DllImport(@"HaiKang\HCNetSDK.dll")]
public static extern bool NET_DVR_MatrixSetLoopDecChanInfo_V30(int lUserID, uint dwDecChanNum, ref NET_DVR_MATRIX_LOOP_DECINFO_V30 lpInter);
[DllImport(@"HaiKang\HCNetSDK.dll")]
public static extern bool NET_DVR_MatrixGetLoopDecChanInfo_V30(int lUserID, uint dwDecChanNum, ref NET_DVR_MATRIX_LOOP_DECINFO_V30 lpInter);
[DllImport(@"HaiKang\HCNetSDK.dll")]
public static extern bool NET_DVR_MatrixGetDecChanInfo_V30(int lUserID, uint dwDecChanNum, ref NET_DVR_MATRIX_DEC_CHAN_INFO_V30 lpInter);
[DllImport(@"HaiKang\HCNetSDK.dll")]
public static extern bool NET_DVR_MatrixSetTranInfo_V30(int lUserID, ref NET_DVR_MATRIX_TRAN_CHAN_CONFIG_V30 lpTranInfo);
[DllImport(@"HaiKang\HCNetSDK.dll")]
public static extern bool NET_DVR_MatrixGetTranInfo_V30(int lUserID, ref NET_DVR_MATRIX_TRAN_CHAN_CONFIG_V30 lpTranInfo);
[DllImport(@"HaiKang\HCNetSDK.dll")]
public static extern bool NET_DVR_MatrixGetDisplayCfg(int lUserID, uint dwDispChanNum, ref NET_DVR_VGA_DISP_CHAN_CFG lpDisplayCfg);
[DllImport(@"HaiKang\HCNetSDK.dll")]
public static extern bool NET_DVR_MatrixSetDisplayCfg(int lUserID, uint dwDispChanNum, ref NET_DVR_VGA_DISP_CHAN_CFG lpDisplayCfg);
[DllImport(@"HaiKang\HCNetSDK.dll")]
public static extern int NET_DVR_MatrixStartPassiveDecode(int lUserID, uint dwDecChanNum, ref NET_DVR_MATRIX_PASSIVEMODE lpPassiveMode);
[DllImport(@"HaiKang\HCNetSDK.dll")]
public static extern bool NET_DVR_MatrixSendData(int lPassiveHandle, System.IntPtr pSendBuf, uint dwBufSize);
[DllImport(@"HaiKang\HCNetSDK.dll")]
public static extern bool NET_DVR_MatrixStopPassiveDecode(int lPassiveHandle);
[DllImport(@"HaiKang\HCNetSDK.dll")]
public static extern bool NET_DVR_UploadLogo(int lUserID, uint dwDispChanNum, ref NET_DVR_DISP_LOGOCFG lpDispLogoCfg, System.IntPtr sLogoBuffer);
public const int NET_DVR_SHOWLOGO = 1;/*æ¾ç¤ºLOGO*/
public const int NET_DVR_HIDELOGO = 2;/*éèLOGO*/
[DllImport(@"HaiKang\HCNetSDK.dll")]
public static extern bool NET_DVR_LogoSwitch(int lUserID, uint dwDecChan, uint dwLogoSwitch);
[DllImport(@"HaiKang\HCNetSDK.dll")]
public static extern bool NET_DVR_MatrixGetDeviceStatus(int lUserID, ref NET_DVR_DECODER_WORK_STATUS lpDecoderCfg);
/*æ¾ç¤ºééå½ä»¤ç å®ä¹*/
//ä¸æµ·ä¸å å®å¶
[DllImport(@"HaiKang\HCNetSDK.dll")]
public static extern bool NET_DVR_RigisterPlayBackDrawFun(int lRealHandle, DRAWFUN fDrawFun, uint dwUser);
public const int DISP_CMD_ENLARGE_WINDOW = 1; /*æ¾ç¤ºééæ¾å¤§æ个çªå£*/
public const int DISP_CMD_RENEW_WINDOW = 2; /*æ¾ç¤ºééçªå£è¿å*/
[DllImport(@"HaiKang\HCNetSDK.dll")]
public static extern bool NET_DVR_MatrixDiaplayControl(int lUserID, uint dwDispChanNum, uint dwDispChanCmd, uint dwCmdParam);
//end
[DllImport(@"HaiKang\HCNetSDK.dll")]
public static extern bool NET_DVR_RefreshPlay(int lPlayHandle);
//æ¢å¤é»è®¤å¼
[DllImport(@"HaiKang\HCNetSDK.dll")]
public static extern bool NET_DVR_RestoreConfig(int lUserID);
//ä¿ååæ°
[DllImport(@"HaiKang\HCNetSDK.dll")]
public static extern bool NET_DVR_SaveConfig(int lUserID);
//éå¯
[DllImport(@"HaiKang\HCNetSDK.dll")]
public static extern bool NET_DVR_RebootDVR(int lUserID);
//å
³éDVR
[DllImport(@"HaiKang\HCNetSDK.dll")]
public static extern bool NET_DVR_ShutDownDVR(int lUserID);
//åæ°é
ç½® begin
[DllImport(@"HaiKang\HCNetSDK.dll")]
public static extern bool NET_DVR_GetDVRConfig(int lUserID, uint dwCommand, int lChannel, IntPtr lpOutBuffer, uint dwOutBufferSize, ref uint lpBytesReturned);
//设置åæ°é
置信æ¯
[DllImport(@"HaiKang\HCNetSDK.dll")]
public static extern bool NET_DVR_SetDVRConfig(int lUserID, uint dwCommand, uint lChannel, IntPtr lpInBuffer, uint dwInBufferSize);
[DllImport(@"HaiKang\HCNetSDK.dll")]
public static extern bool NET_DVR_GetDVRWorkState_V30(int lUserID, IntPtr pWorkState);
[DllImport(@"HaiKang\HCNetSDK.dll")]
public static extern bool NET_DVR_GetDVRWorkState(int lUserID, ref NET_DVR_WORKSTATE lpWorkState);
[DllImport(@"HaiKang\HCNetSDK.dll")]
public static extern bool NET_DVR_SetVideoEffect(int lUserID, int lChannel, uint dwBrightValue, uint dwContrastValue, uint dwSaturationValue, uint dwHueValue);
[DllImport(@"HaiKang\HCNetSDK.dll")]
public static extern bool NET_DVR_GetVideoEffect(int lUserID, int lChannel, ref uint pBrightValue, ref uint pContrastValue, ref uint pSaturationValue, ref uint pHueValue);
[DllImport(@"HaiKang\HCNetSDK.dll")]
public static extern bool NET_DVR_ClientGetframeformat(int lUserID, ref NET_DVR_FRAMEFORMAT lpFrameFormat);
[DllImport(@"HaiKang\HCNetSDK.dll")]
public static extern bool NET_DVR_ClientSetframeformat(int lUserID, ref NET_DVR_FRAMEFORMAT lpFrameFormat);
[DllImport(@"HaiKang\HCNetSDK.dll")]
public static extern bool NET_DVR_GetAtmProtocol(int lUserID, ref NET_DVR_ATM_PROTOCOL lpAtmProtocol);
[DllImport(@"HaiKang\HCNetSDK.dll")]
public static extern bool NET_DVR_GetAlarmOut_V30(int lUserID, IntPtr lpAlarmOutState);
[DllImport(@"HaiKang\HCNetSDK.dll")]
public static extern bool NET_DVR_GetAlarmOut(int lUserID, ref NET_DVR_ALARMOUTSTATUS lpAlarmOutState);
[DllImport(@"HaiKang\HCNetSDK.dll")]
public static extern bool NET_DVR_SetAlarmOut(int lUserID, int lAlarmOutPort, int lAlarmOutStatic);
//è·åUPNP端å£æ å°ç¶æ
[DllImport(@"HaiKang\HCNetSDK.dll")]
public static extern bool NET_DVR_GetUpnpNatState(int lUserID, ref NET_DVR_UPNP_NAT_STATE lpState);
//è§é¢åæ°è°è
[DllImport(@"HaiKang\HCNetSDK.dll")]
public static extern bool NET_DVR_ClientSetVideoEffect(int lRealHandle, uint dwBrightValue, uint dwContrastValue, uint dwSaturationValue, uint dwHueValue);
[DllImport(@"HaiKang\HCNetSDK.dll")]
public static extern bool NET_DVR_ClientGetVideoEffect(int lRealHandle, ref uint pBrightValue, ref uint pContrastValue, ref uint pSaturationValue, ref uint pHueValue);
//é
ç½®æ件
[DllImport(@"HaiKang\HCNetSDK.dll")]
public static extern bool NET_DVR_GetConfigFile(int lUserID, string sFileName);
[DllImport(@"HaiKang\HCNetSDK.dll")]
public static extern bool NET_DVR_SetConfigFile(int lUserID, string sFileName);
[DllImport(@"HaiKang\HCNetSDK.dll")]
public static extern bool NET_DVR_GetConfigFile_V30(int lUserID, string sOutBuffer, uint dwOutSize, ref uint pReturnSize);
[DllImport(@"HaiKang\HCNetSDK.dll")]
public static extern bool NET_DVR_GetConfigFile_EX(int lUserID, string sOutBuffer, uint dwOutSize);
[DllImport(@"HaiKang\HCNetSDK.dll")]
public static extern bool NET_DVR_SetConfigFile_EX(int lUserID, string sInBuffer, uint dwInSize);
//å¯ç¨æ¥å¿æ件åå
¥æ¥å£
[DllImport(@"HaiKang\HCNetSDK.dll")]
public static extern bool NET_DVR_SetLogToFile(int bLogEnable, string strLogDir, bool bAutoDel);
[DllImport(@"HaiKang\HCNetSDK.dll")]
public static extern bool NET_DVR_GetSDKState(ref NET_DVR_SDKSTATE pSDKState);
[DllImport(@"HaiKang\HCNetSDK.dll")]
public static extern bool NET_DVR_GetSDKAbility(ref NET_DVR_SDKABL pSDKAbl);
[DllImport(@"HaiKang\HCNetSDK.dll")]
public static extern bool NET_DVR_GetPTZProtocol(int lUserID, ref NET_DVR_PTZCFG pPtzcfg);
//åé¢æ¿éå®
[DllImport(@"HaiKang\HCNetSDK.dll")]
public static extern bool NET_DVR_LockPanel(int lUserID);
[DllImport(@"HaiKang\HCNetSDK.dll")]
public static extern bool NET_DVR_UnLockPanel(int lUserID);
[DllImport(@"HaiKang\HCNetSDK.dll")]
public static extern bool NET_DVR_SetRtspConfig(int lUserID, uint dwCommand, ref NET_DVR_RTSPCFG lpInBuffer, uint dwInBufferSize);
[DllImport(@"HaiKang\HCNetSDK.dll")]
public static extern bool NET_DVR_GetRtspConfig(int lUserID, uint dwCommand, ref NET_DVR_RTSPCFG lpOutBuffer, uint dwOutBufferSize);
//è§é¢ç»¼åå¹³å°
[DllImport(@"HaiKang\HCNetSDK.dll")]
public static extern bool NET_DVR_MatrixGetSceneCfg(int lUserID, uint dwSceneNum, ref NET_DVR_MATRIX_SCENECFG lpSceneCfg);
[DllImport(@"HaiKang\HCNetSDK.dll")]
public static extern bool NET_DVR_MatrixSetSceneCfg(int lUserID, uint dwSceneNum, ref NET_DVR_MATRIX_SCENECFG lpSceneCfg);
//SDK_V222
//æºè½è®¾å¤ç±»å
public const int DS6001_HF_B = 60;//è¡ä¸ºåæï¼DS6001-HF/B
public const int DS6001_HF_P = 61;//车çè¯å«ï¼DS6001-HF/P
public const int DS6002_HF_B = 62;//åæºè·è¸ªï¼DS6002-HF/B
public const int DS6101_HF_B = 63;//è¡ä¸ºåæï¼DS6101-HF/B
public const int IDS52XX = 64;//æºè½åæ仪IVMS
public const int DS9000_IVS = 65;//9000ç³»åæºè½DVR
public const int DS8004_AHL_A = 66;//æºè½ATM, DS8004AHL-S/A
public const int DS6101_HF_P = 67;//车çè¯å«ï¼DS6101-HF/P
//è½åè·åå½ä»¤
public const int VCA_DEV_ABILITY = 256;//设å¤æºè½åæçæ»è½å
public const int VCA_CHAN_ABILITY = 272;//è¡ä¸ºåæè½å
public const int MATRIXDECODER_ABILITY = 512;//å¤è·¯è§£ç å¨æ¾ç¤ºã解ç è½å
//è·å/设置大æ¥å£åæ°é
ç½®å½ä»¤
//车çè¯å«ï¼NET_VCA_PLATE_CFGï¼
public const int NET_DVR_SET_PLATECFG = 150;//设置车çè¯å«åæ°
public const int NET_DVR_GET_PLATECFG = 151;//è·å车çè¯å«åæ°
//è¡ä¸ºå¯¹åºï¼NET_VCA_RULECFGï¼
public const int NET_DVR_SET_RULECFG = 152;//设置è¡ä¸ºåæè§å
public const int NET_DVR_GET_RULECFG = 153;//è·åè¡ä¸ºåæè§å
//åæåæºæ å®åæ°ï¼NET_DVR_LF_CFGï¼
public const int NET_DVR_SET_LF_CFG = 160;//设置åæåæºçé
ç½®åæ°
public const int NET_DVR_GET_LF_CFG = 161;//è·ååæåæºçé
ç½®åæ°
//æºè½åæ仪åæµé
ç½®ç»æ
public const int NET_DVR_SET_IVMS_STREAMCFG = 162;//设置æºè½åæ仪åæµåæ°
public const int NET_DVR_GET_IVMS_STREAMCFG = 163;//è·åæºè½åæ仪åæµåæ°
//æºè½æ§å¶åæ°ç»æ
public const int NET_DVR_SET_VCA_CTRLCFG = 164;//设置æºè½æ§å¶åæ°
public const int NET_DVR_GET_VCA_CTRLCFG = 165;//è·åæºè½æ§å¶åæ°
//å±è½åºåNET_VCA_MASK_REGION_LIST
public const int NET_DVR_SET_VCA_MASK_REGION = 166;//设置å±è½åºååæ°
public const int NET_DVR_GET_VCA_MASK_REGION = 167;//è·åå±è½åºååæ°
//ATMè¿å
¥åºå NET_VCA_ENTER_REGION
public const int NET_DVR_SET_VCA_ENTER_REGION = 168;//设置è¿å
¥åºååæ°
public const int NET_DVR_GET_VCA_ENTER_REGION = 169;//è·åè¿å
¥åºååæ°
//æ å®çº¿é
ç½®NET_VCA_LINE_SEGMENT_LIST
public const int NET_DVR_SET_VCA_LINE_SEGMENT = 170;//设置æ å®çº¿
public const int NET_DVR_GET_VCA_LINE_SEGMENT = 171;//è·åæ å®çº¿
// ivmså±è½åºåNET_IVMS_MASK_REGION_LIST
public const int NET_DVR_SET_IVMS_MASK_REGION = 172;//设置IVMSå±è½åºååæ°
public const int NET_DVR_GET_IVMS_MASK_REGION = 173;//è·åIVMSå±è½åºååæ°
// ivmsè¿å
¥æ£æµåºåNET_IVMS_ENTER_REGION
public const int NET_DVR_SET_IVMS_ENTER_REGION = 174;//设置IVMSè¿å
¥åºååæ°
public const int NET_DVR_GET_IVMS_ENTER_REGION = 175;//è·åIVMSè¿å
¥åºååæ°
public const int NET_DVR_SET_IVMS_BEHAVIORCFG = 176;//设置æºè½åæ仪è¡ä¸ºè§ååæ°
public const int NET_DVR_GET_IVMS_BEHAVIORCFG = 177;//è·åæºè½åæ仪è¡ä¸ºè§ååæ°
// IVMS åæ¾æ£ç´¢
public const int NET_DVR_IVMS_SET_SEARCHCFG = 178;//设置IVMSåæ¾æ£ç´¢åæ°
public const int NET_DVR_IVMS_GET_SEARCHCFG = 179;//è·åIVMSåæ¾æ£ç´¢åæ°
//ç»æåæ°å®å®ä¹
public const int VCA_MAX_POLYGON_POINT_NUM = 10;//æ£æµåºåæå¤æ¯æ10个ç¹çå¤è¾¹å½¢
public const int MAX_RULE_NUM = 8;//æå¤è§åæ¡æ°
public const int MAX_TARGET_NUM = 30;//æå¤ç®æ 个æ°
public const int MAX_CALIB_PT = 6;//æ大æ å®ç¹ä¸ªæ°
public const int MIN_CALIB_PT = 4;//æå°æ å®ç¹ä¸ªæ°
public const int MAX_TIMESEGMENT_2 = 2;//æ大æ¶é´æ®µæ°
public const int MAX_LICENSE_LEN = 16;//车çå·æ大é¿åº¦
public const int MAX_PLATE_NUM = 3;//车ç个æ°
public const int MAX_MASK_REGION_NUM = 4;//æå¤å个å±è½åºå
public const int MAX_SEGMENT_NUM = 6;//æåæºæ å®æå¤§æ ·æ¬çº¿æ°ç®
public const int MIN_SEGMENT_NUM = 3;//æåæºæ å®æå°æ ·æ¬çº¿æ°ç®
/*********************************************************
Function: NET_DVR_GetDeviceAbility
Desc:
Input:
Output:
Return: TRUE表示æåï¼FALSE表示失败ã
**********************************************************/
[DllImport(@"HaiKang\HCNetSDK.dll")]
//public static extern bool NET_DVR_GetDeviceAbility(int lUserID, uint dwAbilityType, IntPtr pInBuf, uint dwInLength, IntPtr pOutBuf, uint dwOutLength);
public static extern bool NET_DVR_GetDeviceAbility(int lUserID, uint dwAbilityType,string pInBuf, uint dwInLength,out CHCNetSDK.NET_DVR_MATRIX_ABILITY_V41 pOutBuf, uint dwOutLength);
//åæ°å
³é®å
public enum IVS_PARAM_KEY
{
OBJECT_DETECT_SENSITIVE = 1,//ç®æ æ£æµçµæ度
BACKGROUND_UPDATE_RATE = 2,//èæ¯æ´æ°é度
SCENE_CHANGE_RATIO = 3,//åºæ¯ååæ£æµæå°å¼
SUPPRESS_LAMP = 4,//æ¯å¦æå¶è½¦å¤´ç¯
MIN_OBJECT_SIZE = 5,//è½æ£æµåºçæå°ç®æ 大å°
OBJECT_GENERATE_RATE = 6,//ç®æ çæé度
MISSING_OBJECT_HOLD = 7,//ç®æ æ¶å¤±å继ç»è·è¸ªæ¶é´
MAX_MISSING_DISTANCE = 8,//ç®æ æ¶å¤±å继ç»è·è¸ªè·ç¦»
OBJECT_MERGE_SPEED = 9,//å¤ä¸ªç®æ 交éæ¶ï¼ç®æ çèåé度
REPEATED_MOTION_SUPPRESS = 10,//éå¤è¿å¨æå¶
ILLUMINATION_CHANGE = 11,//å
å½±ååæå¶å¼å
³
TRACK_OUTPUT_MODE = 12,//轨迹è¾åºæ¨¡å¼ï¼0-è¾åºç®æ çä¸å¿ï¼1-è¾åºç®æ çåºé¨ä¸å¿
ENTER_CHANGE_HOLD = 13,//æ£æµåºåååéå¼
RESUME_DEFAULT_PARAM = 255,//æ¢å¤é»è®¤å
³é®ååæ°
}
//设置/è·ååæ°å
³é®å
[DllImport(@"HaiKang\HCNetSDK.dll")]
public static extern bool NET_DVR_SetBehaviorParamKey(int lUserID, int lChannel, uint dwParameterKey, int nValue);
[DllImport(@"HaiKang\HCNetSDK.dll")]
public static extern bool NET_DVR_GetBehaviorParamKey(int lUserID, int lChannel, uint dwParameterKey, ref int pValue);
//è·å/设置è¡ä¸ºåæç®æ å å æ¥å£
[DllImport(@"HaiKang\HCNetSDK.dll")]
public static extern bool NET_DVR_GetVCADrawMode(int lUserID, int lChannel, ref NET_VCA_DRAW_MODE lpDrawMode);
[DllImport(@"HaiKang\HCNetSDK.dll")]
public static extern bool NET_DVR_SetVCADrawMode(int lUserID, int lChannel, ref NET_VCA_DRAW_MODE lpDrawMode);
//æ å®åæ°é
ç½®ç»æ
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_LF_CALIBRATION_PARAM
{
public byte byPointNum;//æææ å®ç¹ä¸ªæ°
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 3, ArraySubType = UnmanagedType.I1)]
public byte[] byRes;
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_CALIB_PT, ArraySubType = UnmanagedType.Struct)]
public NET_DVR_CB_POINT[] struCBPoint;//æ å®ç¹ç»
}
//LFåæåæºé
ç½®ç»æ
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_LF_CFG
{
public uint dwSize;//ç»æé¿åº¦
public byte byEnable;//æ å®ä½¿è½
public byte byFollowChan;// 被æ§å¶çä»éé
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 2, ArraySubType = UnmanagedType.I1)]
public byte[] byRes;
public NET_DVR_LF_CALIBRATION_PARAM struCalParam;//æ å®ç¹ç»
}
//L/Fæå¨æ§å¶ç»æ
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_LF_MANUAL_CTRL_INFO
{
public NET_VCA_POINT struCtrlPoint;
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 8, ArraySubType = UnmanagedType.I1)]
public byte[] byRes;
}
//L/Fç®æ è·è¸ªç»æ
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_LF_TRACK_TARGET_INFO
{
public uint dwTargetID;
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 8, ArraySubType = UnmanagedType.I1)]
public byte[] byRes;
}
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_LF_TRACK_MODE
{
public uint dwSize;//ç»æé¿åº¦
public byte byTrackMode;//è·è¸ªæ¨¡å¼
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 3, ArraySubType = UnmanagedType.I1)]
public byte[] byRes;//ä¿çï¼ç½®0
[StructLayoutAttribute(LayoutKind.Explicit)]
public struct uModeParam
{
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 4, ArraySubType = UnmanagedType.U4)]
[FieldOffsetAttribute(0)]
public uint[] dwULen;
[FieldOffsetAttribute(0)]
public NET_DVR_LF_MANUAL_CTRL_INFO struManualCtrl;//æå¨è·è¸ªç»æ
[FieldOffsetAttribute(0)]
public NET_DVR_LF_TRACK_TARGET_INFO struTargetTrack;//ç®æ è·è¸ªç»æ
}
}
//åæåæºè·è¸ªæ¨¡å¼è®¾ç½®æ¥å£
[DllImport(@"HaiKang\HCNetSDK.dll")]
public static extern bool NET_DVR_SetLFTrackMode(int lUserID, int lChannel, ref NET_DVR_LF_TRACK_MODE lpTrackMode);
[DllImport(@"HaiKang\HCNetSDK.dll")]
public static extern bool NET_DVR_GetLFTrackMode(int lUserID, int lChannel, ref NET_DVR_LF_TRACK_MODE lpTrackMode);
//è¯å«åºæ¯
public enum VCA_RECOGNIZE_SCENE
{
VCA_LOW_SPEED_SCENE = 0,//ä½ééè¿åºæ¯ï¼æ¶è´¹ç«ãå°åºé¨å£ãå车åºï¼
VCA_HIGH_SPEED_SCENE = 1,//é«ééè¿åºæ¯ï¼å¡å£ãé«éå
¬è·¯ã移å¨ç¨½æ¥)
VCA_MOBILE_CAMERA_SCENE = 2,//移å¨æåæºåºç¨ï¼
}
//è¯å«ç»ææ å¿
public enum VCA_RECOGNIZE_RESULT
{
VCA_RECOGNIZE_FAILURE = 0,//è¯å«å¤±è´¥
VCA_IMAGE_RECOGNIZE_SUCCESS,//å¾åè¯å«æå
VCA_VIDEO_RECOGNIZE_SUCCESS_OF_BEST_LICENSE,//è§é¢è¯å«æ´ä¼ç»æ
VCA_VIDEO_RECOGNIZE_SUCCESS_OF_NEW_LICENSE,//è§é¢è¯å«å°æ°ç车ç
VCA_VIDEO_RECOGNIZE_FINISH_OF_CUR_LICENSE,//è§é¢è¯å«è½¦çç»æ
}
//è§é¢è¯å«è§¦åç±»å
public enum VCA_TRIGGER_TYPE
{
INTER_TRIGGER = 0,// 模åå
é¨è§¦åè¯å«
EXTER_TRIGGER = 1,// å¤é¨ç©çä¿¡å·è§¦åï¼çº¿åãé·è¾¾ãæå¨è§¦åä¿¡å·ï¼
}
public const int MAX_CHINESE_CHAR_NUM = 64; // æ大æ±åç±»å«æ°é
//车çå¯å¨æä¿®æ¹åæ°
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_VCA_PLATE_PARAM
{
public NET_VCA_RECT struSearchRect;//æç´¢åºå(å½ä¸å)
public NET_VCA_RECT struInvalidateRect;//æ æåºåï¼å¨æç´¢åºåå
é¨ (å½ä¸å)
public ushort wMinPlateWidth;//车çæå°å®½åº¦
public ushort wTriggerDuration;//触åæç»å¸§æ°
public byte byTriggerType;//触å模å¼, VCA_TRIGGER_TYPE
public byte bySensitivity;//çµæ度
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 2, ArraySubType = UnmanagedType.I1)]
public byte[] byRes;//ä¿çï¼ç½®0
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 64, ArraySubType = UnmanagedType.I1)]
public byte[] byCharPriority;// æ±åä¼å
级
}
/*wMinPlateWidth:该åæ°é»è®¤é
置为80åç´ ï¼è¯¥åæ°çé
置对äºè½¦ç海康å¨è§è½¦çè¯å«è¯´æææ¡£
è¯å«æå½±åï¼å¦æ设置è¿å¤§ï¼é£ä¹å¦æåºæ¯ä¸åºç°å°è½¦çå°±ä¼æ¼è¯å«ï¼å¦æåºæ¯ä¸è½¦ç宽度æ®éè¾å¤§ï¼å¯ä»¥æ该åæ°è®¾ç½®ç¨å¤§ï¼ä¾¿äºåå°å¯¹èå车ççå¤çãå¨æ æ¸
æ
åµä¸å»ºè®®è®¾ç½®ä¸º80ï¼ å¨é«æ¸
æ
åµä¸å»ºè®®è®¾ç½®ä¸º120
wTriggerDuration ï¼ å¤é¨è§¦åä¿¡å·æç»å¸§æ°éï¼å
¶å«ä¹æ¯ä»è§¦åä¿¡å·å¼å§è¯å«ç帧æ°éã该å¼å¨ä½éåºæ¯å»ºè®®è®¾ç½®ä¸º50ï½100ï¼é«éåºæ¯å»ºè®®è®¾ç½®ä¸º15ï½25ï¼ç§»å¨è¯å«æ¶å¦æä¹æå¤é¨è§¦åï¼è®¾ç½®ä¸º15ï½25ï¼å
·ä½å¯ä»¥æ ¹æ®ç°åºæ
åµè¿è¡é
ç½®
*/
//车çè¯å«åæ°åç»æ
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_VCA_PLATEINFO
{
public VCA_RECOGNIZE_SCENE eRecogniseScene;//è¯å«åºæ¯(ä½éåé«é)
public NET_VCA_PLATE_PARAM struModifyParam;//车çå¯å¨æä¿®æ¹åæ°
}
//车çè¯å«é
ç½®åæ°
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_VCA_PLATECFG
{
public uint dwSize;
public byte byPicProType;//æ¥è¦æ¶å¾çå¤çæ¹å¼ 0-ä¸å¤ç 1-ä¸ä¼
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 2, ArraySubType = UnmanagedType.I1)]
public byte[] byRes;//ä¿çï¼è®¾ç½®ä¸º0
public NET_DVR_JPEGPARA struPictureParam;//å¾çè§æ ¼ç»æ
public NET_VCA_PLATEINFO struPlateInfo;//车çä¿¡æ¯
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_DAYS * MAX_TIMESEGMENT_2, ArraySubType = UnmanagedType.Struct)]
public NET_DVR_SCHEDTIME[] struAlarmTime;//å¸é²æ¶é´
public NET_DVR_HANDLEEXCEPTION_V30 struHandleType;//å¤çæ¹å¼
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_CHANNUM_V30, ArraySubType = UnmanagedType.I1)]
public byte[] byRelRecordChan;//æ¥è¦è§¦åçå½è±¡éé,为1表示触å该éé
}
//车çè¯å«ç»æåç»æ
[StructLayoutAttribute(LayoutKind.Sequential, CharSet = CharSet.Ansi)]
public struct NET_VCA_PLATE_INFO
{
public VCA_RECOGNIZE_RESULT eResultFlag;//è¯å«ç»ææ å¿
public VCA_PLATE_TYPE ePlateType;//车çç±»å
public VCA_PLATE_COLOR ePlateColor;//车çé¢è²
public NET_VCA_RECT struPlateRect;//车çä½ç½®
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 4, ArraySubType = UnmanagedType.U4)]
public uint[] dwRes;//ä¿çï¼è®¾ç½®ä¸º0
public uint dwLicenseLen;//车çé¿åº¦
[MarshalAsAttribute(UnmanagedType.ByValTStr, SizeConst = MAX_LICENSE_LEN)]
public string sLicense;//车çå·ç
[MarshalAsAttribute(UnmanagedType.ByValTStr, SizeConst = MAX_LICENSE_LEN)]
public string sBelieve;//å个è¯å«å符ç置信度ï¼å¦æ£æµå°è½¦ç"æµA12345", 置信度为10,20,30,40,50,60,70ï¼å表示"æµ"åæ£ç¡®çå¯è½æ§åªæ10%ï¼"A"åçæ£ç¡®çå¯è½æ§æ¯20%
}
//车çæ£æµç»æ
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_VCA_PLATE_RESULT
{
public uint dwSize;//ç»æé¿åº¦
public uint dwRelativeTime;//ç¸å¯¹æ¶æ
public uint dwAbsTime;//ç»å¯¹æ¶æ
public byte byPlateNum;//车ç个æ°
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 3, ArraySubType = UnmanagedType.I1)]
public byte[] byRes1;
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_PLATE_NUM, ArraySubType = UnmanagedType.Struct)]
public NET_VCA_PLATE_INFO[] struPlateInfo;//车çä¿¡æ¯ç»æ
public uint dwPicDataLen;//è¿åå¾ççé¿åº¦ 为0表示没æå¾çï¼å¤§äº0表示该ç»æåé¢ç´§è·å¾çæ°æ®
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 4, ArraySubType = UnmanagedType.U4)]
public uint[] dwRes2;//ä¿çï¼è®¾ç½®ä¸º0 å¾ççé«å®½
public System.IntPtr pImage;//æåå¾ççæé
}
//éå¯æºè½åº
[DllImport(@"HaiKang\HCNetSDK.dll")]
public static extern bool NET_VCA_RestartLib(int lUserID, int lChannel);
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_VCA_LINE_SEGMENT
{
public NET_VCA_POINT struStartPoint;//表示é«åº¦çº¿æ¶ï¼è¡¨ç¤ºå¤´é¨ç¹
public NET_VCA_POINT struEndPoint;//表示é«åº¦çº¿æ¶ï¼è¡¨ç¤ºèé¨ç¹
public float fValue;//é«åº¦å¼ï¼åä½ç±³
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 4, ArraySubType = UnmanagedType.I1)]
public byte[] byRes;
}
//æ å®çº¿é¾è¡¨
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_VCA_LINE_SEG_LIST
{
public uint dwSize;//ç»æé¿åº¦
public byte bySegNum;//æ å®çº¿æ¡æ°
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 3, ArraySubType = System.Runtime.InteropServices.UnmanagedType.I1)]
public byte[] byRes;//ä¿çï¼ç½®0
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_SEGMENT_NUM, ArraySubType = UnmanagedType.Struct)]
public NET_VCA_LINE_SEGMENT[] struSeg;
}
[DllImport(@"HaiKang\HCNetSDK.dll")]
public static extern bool NET_DVR_GetRealHeight(int lUserID, int lChannel, ref NET_VCA_LINE lpLine, ref Single lpHeight);
[DllImport(@"HaiKang\HCNetSDK.dll")]
public static extern bool NET_DVR_GetRealLength(int lUserID, int lChannel, ref NET_VCA_LINE lpLine, ref Single lpLength);
[DllImport(@"HaiKang\HCNetSDK.dll")]
public static extern bool NET_DVR_SaveRealData_V30(int lRealHandle, uint dwTransType, string sFileName);
[DllImport(@"HaiKang\HCNetSDK.dll")]
public static extern bool NET_DVR_EncodeG711Frame(uint iType, ref byte pInBuffer, ref byte pOutBuffer);
[DllImport(@"HaiKang\HCNetSDK.dll")]
public static extern bool NET_DVR_DecodeG711Frame(uint iType, ref byte pInBuffer, ref byte pOutBuffer);
//2009-7-22 end
//é®ä»¶æå¡æµè¯ 9000_1.1
[DllImport(@"HaiKang\HCNetSDK.dll")]
public static extern bool NET_DVR_EmailTest(int lUserID);
[DllImport(@"HaiKang\HCNetSDK.dll")]
public static extern int NET_DVR_FindFileByEvent(int lUserID, ref NET_DVR_SEARCH_EVENT_PARAM lpSearchEventParam);
[DllImport(@"HaiKang\HCNetSDK.dll")]
public static extern int NET_DVR_FindNextEvent(int lSearchHandle, ref NET_DVR_SEARCH_EVENT_RET lpSearchEventRet);
//2009-8-18 æææº
public const int PLATE_INFO_LEN = 1024;
public const int PLATE_NUM_LEN = 16;
public const int FILE_NAME_LEN = 256;
//liscense plate result
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_PLATE_RET
{
public uint dwSize;//ç»æé¿åº¦
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = PLATE_NUM_LEN, ArraySubType = UnmanagedType.I1)]
public byte[] byPlateNum;//车çå·
public byte byVehicleType;// 车类å
public byte byTrafficLight;//0-绿ç¯ï¼1-红ç¯
public byte byPlateColor;//车çé¢è²
public byte byDriveChan;//触å车éå·
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 32, ArraySubType = UnmanagedType.I1)]
public byte[] byTimeInfo;/*æ¶é´ä¿¡æ¯*///plate_172.6.113.64_20090724155526948_197170484
//ç®åæ¯17ä½ï¼ç²¾ç¡®å°ms:20090724155526948
public byte byCarSpeed;/*åä½km/h*/
public byte byCarSpeedH;/*cm/sé«8ä½*/
public byte byCarSpeedL;/*cm/sä½8ä½*/
public byte byRes;
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = PLATE_INFO_LEN - 36, ArraySubType = UnmanagedType.I1)]
public byte[] byInfo;
public uint dwPicLen;
}
/*注ï¼åé¢ç´§è· dwPicLen é¿åº¦ç å¾ç ä¿¡æ¯*/
[DllImport(@"HaiKang\HCNetSDK.dll")]
public static extern bool NET_DVR_INVOKE_PLATE_RECOGNIZE(int lUserID, int lChannel, string pPicFileName, ref NET_DVR_PLATE_RET pPlateRet, string pPicBuf, uint dwPicBufLen);
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_CCD_CFG
{
public uint dwSize;//ç»æé¿åº¦
public byte byBlc;/*èå
è¡¥å¿0-off; 1-on*/
public byte byBlcMode;/*blcç±»å0-èªå®ä¹1-ä¸ï¼2-ä¸ï¼3-å·¦ï¼4-å³ï¼5-ä¸ï¼æ³¨ï¼æ¤é¡¹å¨blc为 on æ¶æèµ·æ*/
public byte byAwb;/*èªå¨ç½å¹³è¡¡0-èªå¨1; 1-èªå¨2; 2-èªå¨æ§å¶*/
public byte byAgc;/*èªå¨å¢ç0-å
³; 1-ä½; 2-ä¸; 3-é«*/
public byte byDayNight;/*æ¥å¤è½¬æ¢ï¼0 彩è²ï¼1é»ç½ï¼2èªå¨*/
public byte byMirror;/*éå0-å
³;1-å·¦å³;2-ä¸ä¸;3-ä¸å¿*/
public byte byShutter;/*å¿«é¨0-èªå¨; 1-1/25; 2-1/50; 3-1/100; 4-1/250;5-1/500; 6-1/1k ;7-1/2k; 8-1/4k; 9-1/10k; 10-1/100k;*/
public byte byIrCutTime;/*IRCUTåæ¢æ¶é´ï¼5, 10, 15, 20, 25*/
public byte byLensType;/*é头类å0-çµåå
å; 1-èªå¨å
å*/
public byte byEnVideoTrig;/*è§é¢è§¦å使è½ï¼1-æ¯æï¼0-ä¸æ¯æãè§é¢è§¦å模å¼ä¸è§é¢å¿«é¨é度æç
§byShutteré度ï¼ææå¾ççå¿«é¨é度æç
§byCapShutteré度ï¼ææå®æåä¼èªå¨è°èåè§é¢æ¨¡å¼*/
public byte byCapShutter;/*æææ¶çå¿«é¨é度ï¼1-1/25; 2-1/50; 3-1/100; 4-1/250;5-1/500; 6-1/1k ;7-1/2k; 8-1/4k; 9-1/10k; 10-1/100k; 11-1/150; 12-1/200*/
public byte byEnRecognise;/*1-æ¯æè¯å«ï¼0-ä¸æ¯æè¯å«*/
}
[DllImport(@"HaiKang\HCNetSDK.dll")]
public static extern bool NET_DVR_GetCCDCfg(int lUserID, int lChannel, ref NET_DVR_CCD_CFG lpCCDCfg);
[DllImport(@"HaiKang\HCNetSDK.dll")]
public static extern bool NET_DVR_SetCCDCfg(int lUserID, int lChannel, ref NET_DVR_CCD_CFG lpCCDCfg);
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct tagCAMERAPARAMCFG
{
public uint dwSize;
public uint dwPowerLineFrequencyMode;/*0-50HZ; 1-60HZ*/
public uint dwWhiteBalanceMode;/*0æå¨ç½å¹³è¡¡; 1èªå¨ç½å¹³è¡¡1ï¼èå´å°ï¼; 2 èªå¨ç½å¹³è¡¡2ï¼èå´å®½ï¼2200K-15000Kï¼;3èªå¨æ§å¶3*/
public uint dwWhiteBalanceModeRGain;/*æå¨ç½å¹³è¡¡æ¶ææï¼æå¨ç½å¹³è¡¡ Rå¢ç*/
public uint dwWhiteBalanceModeBGain;/*æå¨ç½å¹³è¡¡æ¶ææï¼æå¨ç½å¹³è¡¡ Bå¢ç*/
public uint dwExposureMode;/*0 æå¨æå
1èªå¨æå
*/
public uint dwExposureSet;/* 0-USERSET, 1-èªå¨x2ï¼2-èªå¨4ï¼3-èªå¨81/25, 4-1/50, 5-1/100, 6-1/250, 7-1/500, 8-1/750, 9-1/1000, 10-1/2000, 11-1/4000,12-1/10,000; 13-1/100,000*/
public uint dwExposureUserSet;/* èªå¨èªå®ä¹æå
æ¶é´*/
public uint dwExposureTarget;/*æå¨æå
æ¶é´ èå´ï¼Manumalææï¼å¾®ç§ï¼*/
public uint dwIrisMode;/*0 èªå¨å
å 1æå¨å
å*/
public uint dwGainLevel;/*å¢çï¼0-100*/
public uint dwBrightnessLevel;/*0-100*/
public uint dwContrastLevel;/*0-100*/
public uint dwSharpnessLevel;/*0-100*/
public uint dwSaturationLevel;/*0-100*/
public uint dwHueLevel;/*0-100ï¼ï¼ä¿çï¼*/
public uint dwGammaCorrectionEnabled;/*0 dsibale 1 enable*/
public uint dwGammaCorrectionLevel;/*0-100*/
public uint dwWDREnabled;/*宽å¨æï¼0 dsibale 1 enable*/
public uint dwWDRLevel1;/*0-F*/
public uint dwWDRLevel2;/*0-F*/
public uint dwWDRContrastLevel;/*0-100*/
public uint dwDayNightFilterType;/*æ¥å¤åæ¢ï¼0 day,1 night,2 auto */
public uint dwSwitchScheduleEnabled;/*0 dsibale 1 enable,(ä¿ç)*/
//模å¼1(ä¿ç)
public uint dwBeginTime; /*0-100*/
public uint dwEndTime;/*0-100*/
//模å¼2
public uint dwDayToNightFilterLevel;//0-7
public uint dwNightToDayFilterLevel;//0-7
public uint dwDayNightFilterTime;//(60ç§)
public uint dwBacklightMode;/*èå
è¡¥å¿:0 USERSET 1 UPã2 DOWNã3 LEFTã4 RIGHTã5MIDDLE*/
public uint dwPositionX1;//ï¼Xåæ 1ï¼
public uint dwPositionY1;//ï¼Yåæ 1ï¼
public uint dwPositionX2;//ï¼Xåæ 2ï¼
public uint dwPositionY2;//ï¼Yåæ 2ï¼
public uint dwBacklightLevel;/*0x0-0xF*/
public uint dwDigitalNoiseRemoveEnable; /*æ°åå»åªï¼0 dsibale 1 enable*/
public uint dwDigitalNoiseRemoveLevel;/*0x0-0xF*/
public uint dwMirror; /* éåï¼0 Left;1 Right,;2 Up;3Down */
public uint dwDigitalZoom;/*æ°å缩æ¾:0 dsibale 1 enable*/
public uint dwDeadPixelDetect;/*åç¹æ£æµ,0 dsibale 1 enable*/
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 20, ArraySubType = UnmanagedType.U4)]
public uint[] dwRes;
}
public const int NET_DVR_GET_CCDPARAMCFG = 1067; //IPCè·åCCDåæ°é
ç½®
public const int NET_DVR_SET_CCDPARAMCFG = 1068; //IPC设置CCDåæ°é
ç½®
//å¾åå¢å¼ºä»ª
//å¾åå¢å¼ºå»ç¥åºåé
ç½®
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct tagIMAGEREGION
{
public uint dwSize;//æ»çç»æé¿åº¦
public ushort wImageRegionTopLeftX;/* å¾åå¢å¼ºå»ç¥çå·¦ä¸xåæ */
public ushort wImageRegionTopLeftY;/* å¾åå¢å¼ºå»ç¥çå·¦ä¸yåæ */
public ushort wImageRegionWidth;/* å¾åå¢å¼ºå»ç¥åºåç宽 */
public ushort wImageRegionHeight;/*å¾åå¢å¼ºå»ç¥åºåçé«*/
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 16, ArraySubType = UnmanagedType.I1)]
public byte[] byRes;
}
//å¾åå¢å¼ºãå»åªçº§å«å稳å®æ§ä½¿è½é
ç½®
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct tagIMAGESUBPARAM
{
public NET_DVR_SCHEDTIME struImageStatusTime;//å¾åç¶ææ¶é´æ®µ
public byte byImageEnhancementLevel;//å¾åå¢å¼ºç级å«ï¼0-7ï¼0表示å
³é
public byte byImageDenoiseLevel;//å¾åå»åªç级å«ï¼0-7ï¼0表示å
³é
public byte byImageStableEnable;//å¾å稳å®æ§ä½¿è½ï¼0表示å
³éï¼1表示æå¼
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 9, ArraySubType = UnmanagedType.I1)]
public byte[] byRes;
}
/// <summary>
/// æ¾ç¤ºééé
ç½®ç»æä½ã
/// </summary>
//public struct NET_DVR_MATRIX_VOUTCFG
//{
// public int dwSize;
// public int byAudio;
// public int byAudioWindowIdx;
// public int byRes;
// public int byVedioFormat;
// public int dwResolution;
// public int dwWindowMode;
// public int byJoinDecChan;//36
// public int byEnlargeStatus;
// public int byEnlargeSubWindowIndex;
// public int byScale;
// public int byUnionType;
// NET_DVR_VIDEO_PLATFORM struDiff;
// public int byRes2;//80
//}
public const int NET_DVR_GET_IMAGEREGION = 1062; //å¾åå¢å¼ºä»ªå¾åå¢å¼ºå»ç¥åºåè·å
public const int NET_DVR_SET_IMAGEREGION = 1063; //å¾åå¢å¼ºä»ªå¾åå¢å¼ºå»ç¥åºåè·å
public const int NET_DVR_GET_IMAGEPARAM = 1064; // å¾åå¢å¼ºä»ªå¾ååæ°(å»åªãå¢å¼ºçº§å«ï¼ç¨³å®æ§ä½¿è½)è·å
public const int NET_DVR_SET_IMAGEPARAM = 1065; // å¾åå¢å¼ºä»ªå¾ååæ°(å»åªãå¢å¼ºçº§å«ï¼ç¨³å®æ§ä½¿è½)设置
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct tagIMAGEPARAM
{
public uint dwSize;
//å¾åå¢å¼ºæ¶é´æ®µåæ°é
ç½®ï¼å¨æ¥å¼å§
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_DAYS * MAX_TIMESEGMENT, ArraySubType = UnmanagedType.Struct)]
public tagIMAGESUBPARAM[] struImageParamSched;
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 16, ArraySubType = UnmanagedType.I1)]
public byte[] byRes;
}
public struct NET_DVR_MATRIX_LOOP_DECINFO_V41
{
public int dwSize;
public int dwPoolTime;
public NET_DVR_MATRIX_CHAN_INFO_V41 struchanConInfo;//64
public byte[] byRes;//16
}//,*LPNET_DVR_MATRIX_LOOP_DECINFO_V41;
public struct NET_DVR_MATRIX_CHAN_INFO_V41
{
public byte byEnable;
public byte byStreamMode;
public byte[] byRes;//2
public NET_DVR_DEC_STREAM_MODE uDecStreamMode;
}//,*LPNET_DVR_MATRIX_CHAN_INFO_V41;
[DllImport(@"HaiKang\HCNetSDK.dll")]
public static extern bool NET_DVR_GetParamSetMode(int lUserID, ref uint dwParamSetMode);
/*********************************************************
Function: NET_DVR_Login_V30
Desc:
Input: sDVRIP [in] 设å¤IPå°å
wServerPort [in] 设å¤ç«¯å£å·
sUserName [in] ç»å½çç¨æ·å
sPassword [in] ç¨æ·å¯ç
Output: lpDeviceInfo [out] 设å¤ä¿¡æ¯
Return: -1表示失败ï¼å
¶ä»å¼è¡¨ç¤ºè¿åçç¨æ·IDå¼
**********************************************************/
[DllImport(@"HaiKang\HCNetSDK.dll")]
public static extern Int32 NET_DVR_Login_V30(string sDVRIP, Int32 wDVRPort, string sUserName, string sPassword, ref NET_DVR_DEVICEINFO_V30 lpDeviceInfo);
/// <summary>
/// 解ç å¨è·åæ¾ç¤ºééé
ç½®ã
/// </summary>
/// <param name="UserID">NET_DVR_LoginæNET_DVR_Login_V30çè¿åå¼ </param>
/// <param name="Channel">æ¾ç¤ºééï¼ä»è½åéè·å</param>
/// <param name="lpVoutCfg">æ¾ç¤ºééé
ç½®åæ°</param>
/// <returns></returns>
[DllImport(@"HaiKang\HCNetSDK.dll")]
public static extern bool NET_DVR_MatrixGetDisplayCfg_V41(Int32 UserID,ushort Channel,out NET_DVR_MATRIX_VOUTCFG lpVoutCfg);
[DllImport(@"HaiKang\HCNetSDK.dll")]
public static extern bool NET_DVR_MatrixSetDisplayCfg_V41(Int32 UserID, ushort Channel, ref NET_DVR_MATRIX_VOUTCFG lpVoutCfg);
/*********************************************************
Function: NET_DVR_Logout_V30
Desc: ç¨æ·æ³¨å设å¤ã
Input: lUserID [in] ç¨æ·IDå·
Output:
Return: TRUE表示æåï¼FALSE表示失败
**********************************************************/
[DllImport(@"HaiKang\HCNetSDK.dll")]
public static extern bool NET_DVR_Logout_V30(Int32 lUserID);
[DllImport(@"HaiKang\HCNetSDK.dll")]
public static extern bool NET_DVR_MatrixStartDynamic_V41(Int32 UserID, Int32 Channel,ref NET_DVR_PU_STREAM_CFG_V41 lpVoutCfg);
[DllImport(@"HaiKang\HCNetSDK.dll")]
public static extern bool NET_DVR_GetIPCProtoList(int lUserID,out NET_DVR_IPC_PROTO_LIST lpProtoList);
[DllImport(@"HaiKang\HCNetSDK.dll")]
public static extern bool NET_DVR_MatrixGetLoopDecChanInfo_V41(Int32 UserID, Int32 Channel,NET_DVR_MATRIX_LOOP_DECINFO_V41 lpVoutCfg);
[DllImport(@"HaiKang\HCNetSDK.dll")]
public static extern bool NET_DVR_MatrixGetCurrentSceneMode(Int32 UserID,out uint Num);
#region åæµæ¨¡åç¸å
³ç»æä¸æ¥å£
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct PLAY_INFO
{
public int iUserID; //注åç¨æ·ID
[MarshalAsAttribute(UnmanagedType.ByValTStr, SizeConst = 20)]
public string strDeviceIP;
public int iDevicePort;
[MarshalAsAttribute(UnmanagedType.ByValTStr, SizeConst = 32)]
public string strDevAdmin;
[MarshalAsAttribute(UnmanagedType.ByValTStr, SizeConst = 16)]
public string strDevPsd;
public int iChannel; //ææ¾ééå·(ä»0å¼å§)
public int iLinkMode; //æé«ä½(31)为0表示主ç æµï¼ä¸º1表示åç æµï¼0ï¼30ä½è¡¨ç¤ºç æµè¿æ¥æ¹å¼: 0ï¼TCPæ¹å¼,1ï¼UDPæ¹å¼,2ï¼å¤ææ¹å¼,3 - RTPæ¹å¼ï¼4-é³è§é¢åå¼(TCP)
public bool bUseMedia; //æ¯å¦å¯ç¨æµåªä½
[MarshalAsAttribute(UnmanagedType.ByValTStr, SizeConst = 20)]
public string strMediaIP; //æµåªä½IPå°å
public int iMediaPort; //æµåªä½ç«¯å£å·
}
[DllImport("GetStream.dll")]
public static extern bool CLIENT_SDK_Init();
[DllImport("GetStream.dll")]
public static extern bool CLIENT_SDK_UnInit();
[DllImport("GetStream.dll")]
public static extern int CLIENT_SDK_GetStream(PLAY_INFO lpPlayInfo); //
[DllImport("GetStream.dll")]
public static extern bool CLIENT_SetRealDataCallBack(int iRealHandle, SETREALDATACALLBACK fRealDataCallBack, uint lUser); //
[DllImport("GetStream.dll")]
public static extern bool CLIENT_SDK_StopStream(int iRealHandle);
[DllImport("GetStream.dll")]
public static extern bool CLIENT_SDK_GetVideoEffect(int iRealHandle, ref int iBrightValue, ref int iContrastValue, ref int iSaturationValue, ref int iHueValue);
[DllImport("GetStream.dll")]
public static extern bool CLIENT_SDK_SetVideoEffect(int iRealHandle, int iBrightValue, int iContrastValue, int iSaturationValue, int iHueValue);
[DllImport("GetStream.dll")]
public static extern bool CLIENT_SDK_MakeKeyFrame(int iRealHandle);
#endregion
#region VODç¹ææ¾åº
public const int WM_NETERROR = 0x0400 + 102; //ç½ç»å¼å¸¸æ¶æ¯
public const int WM_STREAMEND = 0x0400 + 103; //æ件ææ¾ç»æ
public const int FILE_HEAD = 0; //æ件头
public const int VIDEO_I_FRAME = 1; //è§é¢I帧
public const int VIDEO_B_FRAME = 2; //è§é¢B帧
public const int VIDEO_P_FRAME = 3; //è§é¢P帧
public const int VIDEO_BP_FRAME = 4; //è§é¢BP帧
public const int VIDEO_BBP_FRAME = 5; //è§é¢B帧B帧P帧
public const int AUDIO_PACKET = 10; //é³é¢å
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct BLOCKTIME
{
public ushort wYear;
public byte bMonth;
public byte bDay;
public byte bHour;
public byte bMinute;
public byte bSecond;
}
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct VODSEARCHPARAM
{
public IntPtr sessionHandle; //[in]VOD客æ·ç«¯å¥æ
[MarshalAsAttribute(UnmanagedType.ByValTStr, SizeConst = 50)]
public string dvrIP; // [in]DVRçç½ç»å°å
public uint dvrPort; // [in]DVRç端å£å°å
public uint channelNum; // [in]DVRçééå·
public BLOCKTIME startTime; // [in]æ¥è¯¢çå¼å§æ¶é´
public BLOCKTIME stopTime; // [in]æ¥è¯¢çç»ææ¶é´
public bool bUseIPServer; // [in]æ¯å¦ä½¿ç¨IPServer
[MarshalAsAttribute(UnmanagedType.ByValTStr, SizeConst = 128)]
public string SerialNumber; // [in]设å¤çåºåå·
}
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct SECTIONLIST
{
public BLOCKTIME startTime;
public BLOCKTIME stopTime;
public byte byRecType;
public IntPtr pNext;
}
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct VODOPENPARAM
{
public IntPtr sessionHandle; //[in]VOD客æ·ç«¯å¥æ
[MarshalAsAttribute(UnmanagedType.ByValTStr, SizeConst = 50)]
public string dvrIP; // [in]DVRçç½ç»å°å
public uint dvrPort; // [in]DVRç端å£å°å
public uint channelNum; // [in]DVRçééå·
public BLOCKTIME startTime; // [in]æ¥è¯¢çå¼å§æ¶é´
public BLOCKTIME stopTime; // [in]æ¥è¯¢çç»ææ¶é´
public uint uiUser;
public bool bUseIPServer; // [in]æ¯å¦ä½¿ç¨IPServer
[MarshalAsAttribute(UnmanagedType.ByValTStr, SizeConst = 128)]
public string SerialNumber; // [in]设å¤çåºåå·
public VodStreamFrameData streamFrameData;
}
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct CONNPARAM
{
public uint uiUser;
public ErrorCallback errorCB;
}
// å¼å¸¸åè°å½æ°
public delegate void ErrorCallback(System.IntPtr hSession, uint dwUser, int lErrorType);
//帧æ°æ®åè°å½æ°
public delegate void VodStreamFrameData(System.IntPtr hStream, uint dwUser, int lFrameType, System.IntPtr pBuffer, uint dwSize);
//模ååå§å
[DllImport("PdCssVodClient.dll")]
public static extern bool VODServerConnect(string strServerIp, uint uiServerPort, ref IntPtr hSession, ref CONNPARAM struConn, IntPtr hWnd);
//模åéæ¯
[DllImport("PdCssVodClient.dll")]
public static extern bool VODServerDisconnect(IntPtr hSession);
[DllImport("PdCssVodClient.dll")]
public static extern bool VODStreamSearch(IntPtr pSearchParam, ref IntPtr pSecList);
[DllImport("PdCssVodClient.dll")]
public static extern bool VODDeleteSectionList(IntPtr pSecList);
// æ ¹æ®IDãæ¶é´æ®µæå¼æµè·åæµå¥æ
[DllImport("PdCssVodClient.dll")]
public static extern bool VODOpenStream(IntPtr pOpenParam, ref IntPtr phStream);
[DllImport("PdCssVodClient.dll")]
public static extern bool VODCloseStream(IntPtr hStream);
//æ ¹æ®IDãæ¶é´æ®µæå¼æ¹éä¸è½½
[DllImport("PdCssVodClient.dll")]
public static extern bool VODOpenDownloadStream(ref VODOPENPARAM struVodParam, ref IntPtr phStream);
[DllImport("PdCssVodClient.dll")]
public static extern bool VODCloseDownloadStream(IntPtr hStream);
// å¼å§æµè§£æï¼åéæ°æ®å¸§
[DllImport("PdCssVodClient.dll")]
public static extern bool VODStartStreamData(IntPtr phStream);
[DllImport("PdCssVodClient.dll")]
public static extern bool VODPauseStreamData(IntPtr hStream, bool bPause);
[DllImport("PdCssVodClient.dll")]
public static extern bool VODStopStreamData(IntPtr hStream);
// æ ¹æ®æ¶é´å®ä½
[DllImport("PdCssVodClient.dll")]
public static extern bool VODSeekStreamData(IntPtr hStream, IntPtr pStartTime);
// æ ¹æ®æ¶é´å®ä½
[DllImport("PdCssVodClient.dll")]
public static extern bool VODSetStreamSpeed(IntPtr hStream, int iSpeed);
// æ ¹æ®æ¶é´å®ä½
[DllImport("PdCssVodClient.dll")]
public static extern bool VODGetStreamCurrentTime(IntPtr hStream, ref BLOCKTIME pCurrentTime);
#endregion
#region 帧åæåº
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct PACKET_INFO
{
public int nPacketType; // packet type
// 0: file head
// 1: video I frame
// 2: video B frame
// 3: video P frame
// 10: audio frame
// 11: private frame only for PS
// [System.Runtime.InteropServices.MarshalAsAttribute(System.Runtime.InteropServices.UnmanagedType.LPStr)]
public IntPtr pPacketBuffer;
public uint dwPacketSize;
public int nYear;
public int nMonth;
public int nDay;
public int nHour;
public int nMinute;
public int nSecond;
public uint dwTimeStamp;
}
/******************************************************************************
* functionï¼get a empty port number
* parametersï¼
* returnï¼ 0 - 499 : empty port number
* -1 : server is full
* commentï¼
******************************************************************************/
[DllImport("AnalyzeData.dll")]
public static extern int AnalyzeDataGetSafeHandle();
/******************************************************************************
* functionï¼open standard stream data for analyzing
* parametersï¼lHandle - working port number
* pHeader - pointer to file header or info header
* returnï¼TRUE or FALSE
* commentï¼
******************************************************************************/
[DllImport("AnalyzeData.dll")]
public static extern bool AnalyzeDataOpenStreamEx(int iHandle, byte[] pFileHead);
/******************************************************************************
* functionï¼close analyzing
* parametersï¼lHandle - working port number
* returnï¼
* commentï¼
******************************************************************************/
[DllImport("AnalyzeData.dll")]
public static extern bool AnalyzeDataClose(int iHandle);
/******************************************************************************
* functionï¼input stream data
* parametersï¼lHandle - working port number
* pBuffer - data pointer
* dwBuffersize - data size
* returnï¼TRUE or FALSE
* commentï¼
******************************************************************************/
[DllImport("AnalyzeData.dll")]
public static extern bool AnalyzeDataInputData(int iHandle, IntPtr pBuffer, uint uiSize); //byte []
/******************************************************************************
* functionï¼get analyzed packet
* parametersï¼lHandle - working port number
* pPacketInfo - returned structure
* returnï¼-1 : error
* 0 : succeed
* 1 : failed
* 2 : file end (only in file mode)
* commentï¼
******************************************************************************/
[DllImport("AnalyzeData.dll")]
public static extern int AnalyzeDataGetPacket(int iHandle, ref PACKET_INFO pPacketInfo); //è¦æpPacketInfo转æ¢æPACKET_INFOç»æ
/******************************************************************************
* functionï¼get remain data from input buffer
* parametersï¼lHandle - working port number
* pBuf - pointer to the mem which stored remain data
* dwSize - size of remain data
* returnï¼ TRUE or FALSE
* commentï¼
******************************************************************************/
[DllImport("AnalyzeData.dll")]
public static extern bool AnalyzeDataGetTail(int iHandle, ref IntPtr pBuffer, ref uint uiSize);
[DllImport("AnalyzeData.dll")]
public static extern uint AnalyzeDataGetLastError(int iHandle);
#endregion
#region å½ååº
public const int DATASTREAM_HEAD = 0; //æ°æ®å¤´
public const int DATASTREAM_BITBLOCK = 1; //åèæ°æ®
public const int DATASTREAM_KEYFRAME = 2; //å
³é®å¸§æ°æ®
public const int DATASTREAM_NORMALFRAME = 3; //éå
³é®å¸§æ°æ®
public const int MESSAGEVALUE_DISKFULL = 0x01;
public const int MESSAGEVALUE_SWITCHDISK = 0x02;
public const int MESSAGEVALUE_CREATEFILE = 0x03;
public const int MESSAGEVALUE_DELETEFILE = 0x04;
public const int MESSAGEVALUE_SWITCHFILE = 0x05;
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct STOREINFO
{
public int iMaxChannels;
public int iDiskGroup;
public int iStreamType;
public bool bAnalyze;
public bool bCycWrite;
public uint uiFileSize;
public CALLBACKFUN_MESSAGE funCallback;
}
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct CREATEFILE_INFO
{
public int iHandle;
[MarshalAsAttribute(UnmanagedType.ByValTStr, SizeConst = 128)]
public string strCameraid;
[MarshalAsAttribute(UnmanagedType.ByValTStr, SizeConst = 128)]
public string strFileName;
public BLOCKTIME tFileCreateTime;
}
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct CLOSEFILE_INFO
{
public int iHandle;
[MarshalAsAttribute(UnmanagedType.ByValTStr, SizeConst = 128)]
public string strCameraid;
[MarshalAsAttribute(UnmanagedType.ByValTStr, SizeConst = 128)]
public string strFileName;
public BLOCKTIME tFileSwitchTime;
}
public delegate int CALLBACKFUN_MESSAGE(int iMessageType, System.IntPtr pBuf, int iBufLen);
[DllImport("RecordDLL.dll")]
public static extern int Initialize(STOREINFO struStoreInfo);
[DllImport("RecordDLL.dll")]
public static extern int Release();
[DllImport("RecordDLL.dll")]
public static extern int OpenChannelRecord(string strCameraid, IntPtr pHead, uint dwHeadLength);
[DllImport("RecordDLL.dll")]
public static extern bool CloseChannelRecord(int iRecordHandle);
[DllImport("RecordDLL.dll")]
public static extern int GetData(int iHandle, int iDataType, IntPtr pBuf, uint uiSize);
#endregion
//设å¤åºå设置
public const int REGIONTYPE = 0;//代表åºå
public const int MATRIXTYPE = 11;//ç©éµèç¹
public const int DEVICETYPE = 2;//代表设å¤
public const int CHANNELTYPE = 3;//代表éé
public const int USERTYPE = 5;//代表ç¨æ·
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct NET_DVR_LOG_MATRIX
{
public NET_DVR_TIME strLogTime;
public uint dwMajorType;
public uint dwMinorType;
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_NAMELEN, ArraySubType = UnmanagedType.I1)]
public byte[] sPanelUser;
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_NAMELEN, ArraySubType = UnmanagedType.I1)]
public byte[] sNetUser;
public NET_DVR_IPADDR struRemoteHostAddr;
public uint dwParaType;
public uint dwChannel;
public uint dwDiskNumber;
public uint dwAlarmInPort;
public uint dwAlarmOutPort;
public uint dwInfoLen;
public byte byDevSequence;//槽ä½å·
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MACADDR_LEN, ArraySubType = UnmanagedType.I1)]
public byte[] byMacAddr;//MACå°å
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = SERIALNO_LEN, ArraySubType = UnmanagedType.I1)]
public byte[] sSerialNumber;//åºåå·
[MarshalAsAttribute(UnmanagedType.ByValTStr, SizeConst = LOG_INFO_LEN - SERIALNO_LEN - MACADDR_LEN - 1)]
public string sInfo;
}
//è§é¢ç»¼åå¹³å°è½¯ä»¶
[StructLayoutAttribute(LayoutKind.Sequential)]
public struct tagVEDIOPLATLOG
{
public byte bySearchCondition;//æç´¢æ¡ä»¶ï¼0-æ槽ä½å·æç´¢ï¼1-æåºåå·æç´¢ 2-æMACå°åè¿è¡æç´¢
public byte byDevSequence;//槽ä½å·ï¼0-79ï¼å¯¹åºåç³»ç»ç槽ä½å·ï¼
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = SERIALNO_LEN, ArraySubType = UnmanagedType.I1)]
public byte[] sSerialNumber;//åºåå·
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MACADDR_LEN, ArraySubType = UnmanagedType.I1)]
public byte[] byMacAddr;//MACå°å
}
[DllImportAttribute(@"HaiKang\HCNetSDK.dll")]
public static extern int NET_DVR_FindNextLog_MATRIX(int iLogHandle, ref NET_DVR_LOG_MATRIX lpLogData);
[DllImportAttribute(@"HaiKang\HCNetSDK.dll")]
public static extern int NET_DVR_FindDVRLog_Matrix(int iUserID, int lSelectMode, uint dwMajorType, uint dwMinorType, ref tagVEDIOPLATLOG lpVedioPlatLog, ref NET_DVR_TIME lpStartTime, ref NET_DVR_TIME lpStopTime);
}
}