diff --git a/DisplayMagicianShared/AMD/ADL.cs b/DisplayMagicianShared/AMD/ADL.cs
index f7a1bd1..cd5c8d6 100644
--- a/DisplayMagicianShared/AMD/ADL.cs
+++ b/DisplayMagicianShared/AMD/ADL.cs
@@ -199,6 +199,20 @@ namespace ATI.ADL
/// return ADL Error Code
public delegate int ADL2_Display_DisplayMapConfig_Validate(IntPtr ADLContextHandle, int adapterIndex, int numPossibleMap, ref ADLPossibleMap possibleMaps, out int numPossibleMapResult, ref IntPtr possibleMapResult);
+ /// ADL2 function to set the current display mode information
+ /// Handle to ADL client context.
+ /// Adapter Index
+ /// The number of display maps to set
+ /// The pointer to the display manner information. Refer to the ADLDisplayMap structure for more information.
+ /// The number of display targets to set
+ /// The pointer to the display target object. Refer to the ADLDisplayTarget structure for more information.
+ /// The number of display targets that can be added
+ /// The list of display targets that can be added
+ /// The number of display targets that can be removed
+ /// The list of display targets that can be removed
+ /// return ADL Error Code
+ public delegate int ADL2_Display_DisplayMapConfig_PossibleAddAndRemove(IntPtr ADLContextHandle, int adapterIndex, int numDisplayMap, ref ADLDisplayMap displayMap, int numDisplayTarget, ref ADLDisplayTarget displayTarget, out int numPossibleAddTarget, out IntPtr possibleAddTarget, out int numPossibleRemoveTarget, out IntPtr possibleRemoveTarget);
+
// ADL version of function delegates
/// ADL Create Function to create ADL Data
@@ -1420,6 +1434,10 @@ namespace ATI.ADL
[DllImport(Atiadlxx_FileName)]
public static extern int ADL2_Display_DisplayMapConfig_Validate(IntPtr ADLContextHandle, int adapterIndex, int numPossibleMap, ref ADLPossibleMap possibleMaps, out int numPossibleMapResult, ref IntPtr possibleMapResult);
+ [DllImport(Atiadlxx_FileName)]
+ public static extern int ADL2_Display_DisplayMapConfig_PossibleAddAndRemove(IntPtr ADLContextHandle, int adapterIndex, int numDisplayMap, ref ADLDisplayMap displayMap, int numDisplayTarget, ref ADLDisplayTarget displayTarget, out int numPossibleAddTarget, out IntPtr possibleAddTarget, out int numPossibleRemoveTarget, out IntPtr possibleRemoveTarget);
+
+
// ======================================
@@ -2033,6 +2051,29 @@ namespace ATI.ADL
private static bool ADL2_Display_DisplayMapConfig_Validate_Check = false;
#endregion ADL2_Display_DisplayMapConfig_Validate
+ #region ADL2_Display_DisplayMapConfig_PossibleAddAndRemove
+ /// ADL2_Display_DisplayMapConfig_PossibleAddAndRemove Delegates
+ public static ADL2_Display_DisplayMapConfig_PossibleAddAndRemove ADL2_Display_DisplayMapConfig_PossibleAddAndRemove
+ {
+ get
+ {
+ if (!ADL2_Display_DisplayMapConfig_PossibleAddAndRemove_Check && null == ADL2_Display_DisplayMapConfig_PossibleAddAndRemove_)
+ {
+ ADL2_Display_DisplayMapConfig_PossibleAddAndRemove_Check = true;
+ if (ADLCheckLibrary.IsFunctionValid("ADL2_Display_DisplayMapConfig_PossibleAddAndRemove"))
+ {
+ ADL2_Display_DisplayMapConfig_PossibleAddAndRemove_ = ADLImport.ADL2_Display_DisplayMapConfig_PossibleAddAndRemove;
+ }
+ }
+ return ADL2_Display_DisplayMapConfig_PossibleAddAndRemove_;
+ }
+ }
+ /// Private Delegate
+ private static ADL2_Display_DisplayMapConfig_PossibleAddAndRemove ADL2_Display_DisplayMapConfig_PossibleAddAndRemove_ = null;
+ /// check flag to indicate the delegate has been checked
+ private static bool ADL2_Display_DisplayMapConfig_PossibleAddAndRemove_Check = false;
+ #endregion ADL2_Display_DisplayMapConfig_PossibleAddAndRemove
+
// ================================
#region ADL_Main_Control_Create