We need you! We're working hard on the next version of Developer Fusion -
Let us know what you think we should be up to!
- using System;
- using System.Runtime.InteropServices;
- using System.Runtime.CompilerServices;
- using System.Security.Permissions;
- using System.Runtime.ConstrainedExecution;
- namespace Microsoft.Win32.SafeHandles
- {
-
- [SecurityPermission(SecurityAction.InheritanceDemand, UnmanagedCode = true)]
- [SecurityPermission(SecurityAction.LinkDemand, UnmanagedCode = true)]
- public abstract class SafeHandleZeroOrMinusOneIsInvalid : SafeHandle
- {
- [ReliabilityContract(Consistency.WillNotCorruptState, Cer.MayFail)]
- protected SafeHandleZeroOrMinusOneIsInvalid(bool ownsHandle) : base(IntPtr.Zero, ownsHandle)
- {
- }
-
- public override bool IsInvalid {
- get { return handle.IsNull() || handle == new IntPtr(-1); }
- }
- }
-
-
- [SecurityPermission(SecurityAction.InheritanceDemand, UnmanagedCode = true)]
- [SecurityPermission(SecurityAction.LinkDemand, UnmanagedCode = true)]
- public abstract class SafeHandleMinusOneIsInvalid : SafeHandle
- {
- [ReliabilityContract(Consistency.WillNotCorruptState, Cer.MayFail)]
- protected SafeHandleMinusOneIsInvalid(bool ownsHandle) : base(new IntPtr(-1), ownsHandle)
- {
- }
-
- public override bool IsInvalid {
- get { return handle == new IntPtr(-1); }
- }
- }
-
-
- [SecurityPermission(SecurityAction.InheritanceDemand, UnmanagedCode = true)]
- [SecurityPermission(SecurityAction.LinkDemand, UnmanagedCode = true)]
- public abstract class CriticalHandleZeroOrMinusOneIsInvalid : CriticalHandle
- {
- [ReliabilityContract(Consistency.WillNotCorruptState, Cer.MayFail)]
- protected CriticalHandleZeroOrMinusOneIsInvalid() : base(IntPtr.Zero)
- {
- }
-
- public override bool IsInvalid {
- get { return handle.IsNull() || handle == new IntPtr(-1); }
- }
- }
-
-
- [SecurityPermission(SecurityAction.InheritanceDemand, UnmanagedCode = true)]
- [SecurityPermission(SecurityAction.LinkDemand, UnmanagedCode = true)]
- public abstract class CriticalHandleMinusOneIsInvalid : CriticalHandle
- {
- [ReliabilityContract(Consistency.WillNotCorruptState, Cer.MayFail)]
- protected CriticalHandleMinusOneIsInvalid() : base(new IntPtr(-1))
- {
- }
-
- public override bool IsInvalid {
- get { return handle == new IntPtr(-1); }
- }
- }
-
- }