封裝 `HikServer.dll` 核心 API(25 個函數),含結構體、枚舉、委托、回調註冊、服務端控制、數據寫入、多播、IP/密碼驗證等。
// 服務端視頻信息
public struct PSERVER_VIDEOINFO {
[MarshalAs(UnmanagedType.ByValArray, SizeConst=64)]
public byte[] m_datatype; // 各通道數據類型
public byte m_channum; // 通道數
public int m_waittime; // 超時等待(分鐘)
public ulong m_bufnum; // 保留
}
// 通道數據類型
public enum ChannelDataType { NORMAL=50, DIALING, SMALLPIC }
// 回調委托
public delegate void SetIBP(int port, int framerate);
public delegate void MakeIFrame(ulong port);
public delegate void StartCap(int channel);
public delegate void StopCap(int channel);
public delegate int CheckPassword(string user, ushort ulen, string pwd, ushort plen);
public delegate int CheckIP(int channel, string ip);
| 函數 | 用途 |
|---|---|
| MP4_ServerStart/Stop | 啟動/停止服務端 |
| MP4_ServerSetStart/Stop | 註冊啟動/停止捕獲回調 |
| MP4_ServerSetCapIFrame | 註冊生成 I 幀回調(客戶端連接關鍵) |
| MP4_ServerWriteDataEx | 寫入編碼數據到發送緩衝 |
| MP4_ServerCheckIP/Password | 註冊 IP/密碼驗證回調 |
| MP4_ServerSetNetPort/TTL/BufNum | 網絡參數配置 |
| MP4_ServerStringToClient | 向指定客戶端發送消息 |
| MP4_ServerMaxUser | 設置通道最大連接數 |
| MP4_ServerCastGroup | 配置多播組 |
2009-08-19:`MP4_ServerReadLastMessage` 參數由 `string` 改為 `StringBuilder` 正確接收非托管輸出。