Vanara/PInvoke/Shared/Handles/IHandle.cs

29 lines
1.1 KiB
C#
Raw Normal View History

using System;
namespace Vanara.PInvoke;
2019-01-16 10:06:31 -05:00
2022-07-29 00:19:53 -04:00
/// <summary>Signals that a structure or class holds a handle to a graphics object.</summary>
public interface IGraphicsObjectHandle : IUserHandle { }
2019-01-16 10:06:31 -05:00
/// <summary>Signals that a structure or class holds a HANDLE.</summary>
public interface IHandle
{
/// <summary>Returns the value of the handle field.</summary>
/// <returns>An IntPtr representing the value of the handle field.</returns>
IntPtr DangerousGetHandle();
}
2022-07-29 00:19:53 -04:00
/// <summary>Signals that a structure or class holds a handle to a kernel object.</summary>
public interface IKernelHandle : IHandle { }
/// <summary>Signals that a structure or class holds a pointer to a security object.</summary>
public interface ISecurityObject : IHandle { }
2022-07-29 00:19:53 -04:00
/// <summary>Signals that a structure or class holds a handle to a shell object.</summary>
public interface IShellHandle : IHandle { }
/// <summary>Signals that a structure or class holds a handle to a synchronization object.</summary>
public interface ISyncHandle : IKernelHandle { }
2022-07-29 00:19:53 -04:00
/// <summary>Signals that a structure or class holds a handle to a user object.</summary>
public interface IUserHandle : IHandle { }