private void Init() { pDll = NativeMethods.LoadLibrary(Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().Location) + "\\ClevoEcInfo.dll"); if (pDll == IntPtr.Zero) { throw new Exception("Can't load ClevoEcInfo.dll"); } pInitIo = NativeMethods.GetProcAddress(pDll, "InitIo"); pGetTempFanDuty = NativeMethods.GetProcAddress(pDll, "GetTempFanDuty"); pSetFanDuty = NativeMethods.GetProcAddress(pDll, "SetFanDuty"); pSetFanDutyAuto = NativeMethods.GetProcAddress(pDll, "SetFanDutyAuto"); if (pInitIo == IntPtr.Zero || pGetTempFanDuty == IntPtr.Zero || pSetFanDuty == IntPtr.Zero || pSetFanDutyAuto == IntPtr.Zero) { throw new Exception("Can't find methods"); } initIo = (InitIo)Marshal.GetDelegateForFunctionPointer(pInitIo, typeof(InitIo)); getTempFanDuty = (GetTempFanDuty)Marshal.GetDelegateForFunctionPointer(pGetTempFanDuty, typeof(GetTempFanDuty)); setFanDuty = (SetFanDuty2)Marshal.GetDelegateForFunctionPointer(pSetFanDuty, typeof(SetFanDuty2)); setFanDutyAuto = (SetFanDutyAuto)Marshal.GetDelegateForFunctionPointer(pSetFanDutyAuto, typeof(SetFanDutyAuto)); bool theResult = initIo(); }
private void Init() { pDll = NativeMethods.LoadLibrary(@"ClevoEcInfo.dll"); if (pDll == IntPtr.Zero) { throw new Exception("Can't load ClevoEcInfo.dll"); } pInitIo = NativeMethods.GetProcAddress(pDll, "InitIo"); pGetTempFanDuty = NativeMethods.GetProcAddress(pDll, "GetTempFanDuty"); pSetFanDuty = NativeMethods.GetProcAddress(pDll, "SetFanDuty"); if (pInitIo == IntPtr.Zero || pGetTempFanDuty == IntPtr.Zero || pSetFanDuty == IntPtr.Zero) { throw new Exception("Can't find methods"); } initIo = (InitIo)Marshal.GetDelegateForFunctionPointer(pInitIo, typeof(InitIo)); getTempFanDuty = (GetTempFanDuty)Marshal.GetDelegateForFunctionPointer(pGetTempFanDuty, typeof(GetTempFanDuty)); setFanDuty = (SetFanDuty2)Marshal.GetDelegateForFunctionPointer(pSetFanDuty, typeof(SetFanDuty2)); bool theResult = initIo(); }