From 6dba938c8dd05dc4aba9cef21f4759f57c14b123 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michael=20M=C3=B6ller?= Date: Fri, 29 Jan 2010 21:58:31 +0000 Subject: [PATCH] Release version 0.1.4. Fixed EntryPointNotFoundException for ADL_Adapter_ID_Get by adding two fallback implementations. --- Hardware/ATI/ADL.cs | 30 +++++++++++++++++++++++++----- Properties/AssemblyInfo.cs | 4 ++-- 2 files changed, 27 insertions(+), 7 deletions(-) diff --git a/Hardware/ATI/ADL.cs b/Hardware/ATI/ADL.cs index f47aa08..d66b215 100644 --- a/Hardware/ATI/ADL.cs +++ b/Hardware/ATI/ADL.cs @@ -137,6 +137,8 @@ namespace OpenHardwareMonitor.Hardware.ATI { ref int numAdapters); public delegate int ADL_Adapter_ID_GetDelegate(int adapterIndex, out int adapterID); + public delegate int ADL_Display_AdapterID_GetDelegate(int adapterIndex, + out int adapterID); public delegate int ADL_Adapter_Active_GetDelegate(int adapterIndex, out int status); public delegate int ADL_Overdrive5_CurrentActivity_GetDelegate( @@ -154,13 +156,15 @@ namespace OpenHardwareMonitor.Hardware.ATI { private static ADL_Adapter_AdapterInfo_GetDelegate _ADL_Adapter_AdapterInfo_Get; - public static ADL_Main_Control_DestroyDelegate + public static ADL_Main_Control_DestroyDelegate ADL_Main_Control_Destroy; public static ADL_Adapter_NumberOfAdapters_GetDelegate ADL_Adapter_NumberOfAdapters_Get; - public static ADL_Adapter_ID_GetDelegate - ADL_Adapter_ID_Get; - public static ADL_Adapter_Active_GetDelegate + public static ADL_Adapter_ID_GetDelegate + _ADL_Adapter_ID_Get; + public static ADL_Display_AdapterID_GetDelegate + _ADL_Display_AdapterID_Get; + public static ADL_Adapter_Active_GetDelegate ADL_Adapter_Active_Get; public static ADL_Overdrive5_CurrentActivity_GetDelegate ADL_Overdrive5_CurrentActivity_Get; @@ -199,7 +203,9 @@ namespace OpenHardwareMonitor.Hardware.ATI { GetDelegate("ADL_Adapter_NumberOfAdapters_Get", out ADL_Adapter_NumberOfAdapters_Get); GetDelegate("ADL_Adapter_ID_Get", - out ADL_Adapter_ID_Get); + out _ADL_Adapter_ID_Get); + GetDelegate("ADL_Display_AdapterID_Get", + out _ADL_Display_AdapterID_Get); GetDelegate("ADL_Adapter_Active_Get", out ADL_Adapter_Active_Get); GetDelegate("ADL_Overdrive5_CurrentActivity_Get", @@ -242,6 +248,20 @@ namespace OpenHardwareMonitor.Hardware.ATI { return result; } + public static int ADL_Adapter_ID_Get(int adapterIndex, + out int adapterID) { + try { + return _ADL_Adapter_ID_Get(adapterIndex, out adapterID); + } catch (EntryPointNotFoundException) { + try { + return _ADL_Display_AdapterID_Get(adapterIndex, out adapterID); + } catch (EntryPointNotFoundException) { + adapterID = 1; + return ADL_OK; + } + } + } + private delegate IntPtr ADL_Main_Memory_AllocDelegate(int size); private static IntPtr Main_Memory_Alloc(int size) { diff --git a/Properties/AssemblyInfo.cs b/Properties/AssemblyInfo.cs index a30e5c7..56ca52b 100644 --- a/Properties/AssemblyInfo.cs +++ b/Properties/AssemblyInfo.cs @@ -32,5 +32,5 @@ using System.Runtime.InteropServices; // You can specify all the values or you can default the Build and Revision Numbers // by using the '*' as shown below: // [assembly: AssemblyVersion("1.0.*")] -[assembly: AssemblyVersion("0.1.3.1")] -[assembly: AssemblyFileVersion("0.1.3.1")] +[assembly: AssemblyVersion("0.1.4.0")] +[assembly: AssemblyFileVersion("0.1.4.0")]