海康SDK(二) 設定GBT28181協議接入配置
阿新 • • 發佈:2020-12-22
使用介面
具體實現
public bool SetGbCfg()
{
//修改結果
bool result = false;
//通道號
int lChannel = channel;
//獲取結構體大小
Int32 nSize = Marshal.SizeOf(typeof(CHCNetSDK.NET_DVR_GBT28181_ACCESS_CFG));
//設定指標空間大小
IntPtr ptrGb = Marshal.AllocHGlobal(nSize);
//因為配置資訊中很多都是不需要修改的,所以我先獲取國標協議接入配置,再對想要修改的資訊進行修改。
CHCNetSDK.NET_DVR_GBT28181_ACCESS_CFG gbcfg = GetGbCfg();//獲取國標協議接入配置
//目前只對sip伺服器地址進行修改
gbcfg.szServerID = "192.168.11.25";
//……
Marshal. StructureToPtr(gbcfg, ptrGb, false);//結構體轉換為指標
bool Sflag = CHCNetSDK.NET_DVR_SetDVRConfig(m_lUserID, (UInt32)CHCNetSDK.NET_DVR_SET_GBT28181_ACCESS_CFG, lChannel, ptrGb, (UInt32)nSize);
if (Sflag)
{
result = true;
}
else
{
//錯誤碼
uint iLastErr = CHCNetSDK.NET_DVR_GetLastError();
result = false;
}
Marshal.FreeHGlobal(ptrGb);//釋放指標
return result;
}