diff --git a/PInvoke/ComCtl32/CommCtrl.PropSheet.cs b/PInvoke/ComCtl32/CommCtrl.PropSheet.cs
index 960ba9de..7e6f1c6b 100644
--- a/PInvoke/ComCtl32/CommCtrl.PropSheet.cs
+++ b/PInvoke/ComCtl32/CommCtrl.PropSheet.cs
@@ -920,7 +920,7 @@ namespace Vanara.PInvoke
}
/// Provides a to a that releases a created HPROPSHEETPAGE instance at disposal using DestroyPropertySheetPage.
- public class SafeHPROPSHEETPAGE : SafeHANDLE
+ public class SafeHPROPSHEETPAGE : SafeHANDLE, IUserHandle
{
/// Initializes a new instance of the class and assigns an existing handle.
/// An object that represents the pre-existing handle to use.
diff --git a/PInvoke/Shared/Handles.cs b/PInvoke/Shared/Handles.cs
index 00259290..4b7f4001 100644
--- a/PInvoke/Shared/Handles.cs
+++ b/PInvoke/Shared/Handles.cs
@@ -7,7 +7,7 @@ using System.Runtime.InteropServices;
namespace Vanara.PInvoke
{
/// Signals that a structure or class holds a handle to a synchronization object.
- public interface IGraphicsObjectHandle : IHandle { }
+ public interface IGraphicsObjectHandle : IUserHandle { }
/// Signals that a structure or class holds a HANDLE.
public interface IHandle
@@ -34,7 +34,7 @@ namespace Vanara.PInvoke
/// Provides a handle to an accelerator table.
[StructLayout(LayoutKind.Sequential), DebuggerDisplay("{handle}")]
- public struct HACCEL : IHandle
+ public struct HACCEL : IUserHandle
{
private IntPtr handle;
diff --git a/PInvoke/User32/WinUser.Accelerator.cs b/PInvoke/User32/WinUser.Accelerator.cs
index cb1be4a7..514bb18c 100644
--- a/PInvoke/User32/WinUser.Accelerator.cs
+++ b/PInvoke/User32/WinUser.Accelerator.cs
@@ -247,7 +247,7 @@ namespace Vanara.PInvoke
}
/// Provides a for that is disposed using .
- public class SafeHACCEL : SafeHANDLE
+ public class SafeHACCEL : SafeHANDLE, IUserHandle
{
/// Initializes a new instance of the class and assigns an existing handle.
/// An object that represents the pre-existing handle to use.
diff --git a/PInvoke/User32/WinUser.Cursor.cs b/PInvoke/User32/WinUser.Cursor.cs
index 9e984334..516dcd69 100644
--- a/PInvoke/User32/WinUser.Cursor.cs
+++ b/PInvoke/User32/WinUser.Cursor.cs
@@ -816,7 +816,7 @@ namespace Vanara.PInvoke
}
/// Provides a to a Windows that disposes a created HCURSOR instance at disposal using DestroyCursor.
- public class SafeHCURSOR : SafeHANDLE
+ public class SafeHCURSOR : SafeHANDLE, IUserHandle
{
/// Initializes a new instance of the class and assigns an existing handle.
/// An object that represents the pre-existing handle to use.
diff --git a/PInvoke/User32/WinUser.Hook.cs b/PInvoke/User32/WinUser.Hook.cs
index 757b5a8f..1df27f19 100644
--- a/PInvoke/User32/WinUser.Hook.cs
+++ b/PInvoke/User32/WinUser.Hook.cs
@@ -1040,7 +1040,7 @@ namespace Vanara.PInvoke
/// Provides a handle to a hook.
[StructLayout(LayoutKind.Sequential)]
- public struct HHOOK : IHandle
+ public struct HHOOK : IUserHandle
{
private IntPtr handle;
@@ -1431,7 +1431,7 @@ namespace Vanara.PInvoke
}
/// Provides a for that is disposed using .
- public class SafeHHOOK : SafeHANDLE
+ public class SafeHHOOK : SafeHANDLE, IUserHandle
{
/// Initializes a new instance of the class and assigns an existing handle.
/// An object that represents the pre-existing handle to use.
diff --git a/PInvoke/User32/WinUser.Icon.cs b/PInvoke/User32/WinUser.Icon.cs
index 9d2373d1..9004645b 100644
--- a/PInvoke/User32/WinUser.Icon.cs
+++ b/PInvoke/User32/WinUser.Icon.cs
@@ -1208,7 +1208,7 @@ namespace Vanara.PInvoke
}
/// Provides a to a Windows that disposes a created HICON instance at disposal using DestroyIcon.
- public class SafeHICON : SafeHANDLE
+ public class SafeHICON : SafeHANDLE, IUserHandle
{
/// Initializes a new instance of the class and assigns an existing handle.
/// An object that represents the pre-existing handle to use.
diff --git a/PInvoke/User32/WinUser.Menu.cs b/PInvoke/User32/WinUser.Menu.cs
index 80862de3..cb62191c 100644
--- a/PInvoke/User32/WinUser.Menu.cs
+++ b/PInvoke/User32/WinUser.Menu.cs
@@ -4082,7 +4082,7 @@ namespace Vanara.PInvoke
}
/// Provides a for that is disposed using .
- public class SafeHMENU : SafeHANDLE
+ public class SafeHMENU : SafeHANDLE, IUserHandle
{
/// Initializes a new instance of the class and assigns an existing handle.
/// An object that represents the pre-existing handle to use.
diff --git a/PInvoke/User32/WinUser.Window.cs b/PInvoke/User32/WinUser.Window.cs
index 589c7878..0099dab6 100644
--- a/PInvoke/User32/WinUser.Window.cs
+++ b/PInvoke/User32/WinUser.Window.cs
@@ -8643,7 +8643,7 @@ namespace Vanara.PInvoke
///
/// Provides a to a window or dialog that releases a created HWND instance at disposal using DestroyWindow.
///
- public class SafeHWND : SafeHANDLE
+ public class SafeHWND : SafeHANDLE, IUserHandle
{
/// Initializes a new instance of the class and assigns an existing handle.
/// An object that represents the pre-existing handle to use.