问题描述
如题,海康二次开发C#GetDeviceConfig设置不成功用下面的函数,求大神给个范例boolGetDevCfg<T,U>(uintstru_Type,Tstru_In,refUstru_Out,uintn,refuintlp)whereT:structwhereU:struct{Int32inSize=Marshal.SizeOf(stru_In);Int32outSize=Marshal.SizeOf(stru_Out);Int32staSize=Marshal.SizeOf(lp);IntPtrptrIn=Marshal.AllocHGlobal(inSize);IntPtrptrOut=Marshal.AllocHGlobal(outSize);IntPtrptrSta=Marshal.AllocHGlobal(staSize);Marshal.StructureToPtr(stru_In,ptrIn,false);Marshal.StructureToPtr(stru_Out,ptrOut,false);Marshal.StructureToPtr(lp,ptrSta,false);if(!CHCNetSDK.NET_DVR_GetDeviceConfig(MainWindow.m_lUserID,stru_Type,1,ptrIn,(uint)inSize,refptrSta,refptrOut,(uint)outSize)){MainWindow.iLastErr=CHCNetSDK.NET_DVR_GetLastError();MainWindow.strEr1=stru_In.GetType().ToString()+"Getfailed,errorcode="+MainWindow.iLastErr;Marshal.FreeHGlobal(ptrSta);Marshal.FreeHGlobal(ptrIn);Marshal.FreeHGlobal(ptrOut);returnfalse;}else{stru_Out=(U)Marshal.PtrToStructure(ptrOut,typeof(U));Marshal.FreeHGlobal(ptrSta);Marshal.FreeHGlobal(ptrIn);Marshal.FreeHGlobal(ptrOut);returntrue;}}