private void setDvrCompressionCfgV30(CHCNetSDK.NET_DVR_COMPRESSIONCFG_V30 compressionCfgInfoV30) { checkUserSessionValid(); IntPtr ptrCompressionCfgInfoV30 = IntPtr.Zero; try { int compressionCfgInfoV30Size = Marshal.SizeOf(compressionCfgInfoV30); ptrCompressionCfgInfoV30 = Marshal.AllocHGlobal(compressionCfgInfoV30Size); Marshal.StructureToPtr(compressionCfgInfoV30, ptrCompressionCfgInfoV30, false); if (!CHCNetSDK.NET_DVR_SetDVRConfig(NvrUserSession.UserSessionState.UserId, CHCNetSDK.NET_DVR_SET_COMPRESSCFG_V30, NvrUserSession.UserSessionState.SelectedChannelNum, ptrCompressionCfgInfoV30, (uint)compressionCfgInfoV30Size)) { throw new NvrSdkException(CHCNetSDK.NET_DVR_GetLastError(), "NET_DVR_SetDVRConfig: NET_DVR_SET_COMPRESSCFG_V30 failed"); } debugInfo($"NET_DVR_SetDVRConfig: NET_DVR_SET_COMPRESSCFG_V30 succ!"); } finally { if (ptrCompressionCfgInfoV30 != IntPtr.Zero) { Marshal.FreeHGlobal(ptrCompressionCfgInfoV30); } } }
private CHCNetSDK.NET_DVR_COMPRESSIONCFG_V30 getDvrCompressionCfgV30() { checkUserSessionValid(); IntPtr ptrCompressionCfgInfoV30 = IntPtr.Zero; CHCNetSDK.NET_DVR_COMPRESSIONCFG_V30 compressionCfgInfoV30 = new CHCNetSDK.NET_DVR_COMPRESSIONCFG_V30(); try { int compressionCfgInfoV30Size = Marshal.SizeOf(compressionCfgInfoV30); ptrCompressionCfgInfoV30 = Marshal.AllocHGlobal(compressionCfgInfoV30Size); Marshal.StructureToPtr(compressionCfgInfoV30, ptrCompressionCfgInfoV30, false); uint dwReturn = 0; if (!CHCNetSDK.NET_DVR_GetDVRConfig(NvrUserSession.UserSessionState.UserId, CHCNetSDK.NET_DVR_GET_COMPRESSCFG_V30, NvrUserSession.UserSessionState.SelectedChannelNum, ptrCompressionCfgInfoV30, (uint)compressionCfgInfoV30Size, ref dwReturn)) { throw new NvrSdkException(CHCNetSDK.NET_DVR_GetLastError(), "NET_DVR_GetDVRConfig: NET_DVR_GET_COMPRESSCFG_V30 failed"); } compressionCfgInfoV30 = (CHCNetSDK.NET_DVR_COMPRESSIONCFG_V30)Marshal.PtrToStructure(ptrCompressionCfgInfoV30, typeof(CHCNetSDK.NET_DVR_COMPRESSIONCFG_V30)); debugInfo($"NET_DVR_GetDVRConfig: NET_DVR_GET_COMPRESSCFG_V30 succ! return={dwReturn}"); } finally { if (ptrCompressionCfgInfoV30 != IntPtr.Zero) { Marshal.FreeHGlobal(ptrCompressionCfgInfoV30); } } return(compressionCfgInfoV30); }