using System;
using System.Runtime.ConstrainedExecution;
using System.Runtime.InteropServices;
using Cpp2IlInjected;
namespace Microsoft.Win32.SafeHandles
{
/// Provides a base class for Win32 safe handle implementations in which the value of either 0 or -1 indicates an invalid handle.
// Token: 0x02000074 RID: 116
[Token(Token = "0x2000074")]
public abstract class SafeHandleZeroOrMinusOneIsInvalid : SafeHandle
{
/// Initializes a new instance of the class, specifying whether the handle is to be reliably released.
///
/// to reliably release the handle during the finalization phase; to prevent reliable release (not recommended).
// Token: 0x0600030A RID: 778 RVA: 0x00002050 File Offset: 0x00000250
[Token(Token = "0x600030A")]
[Address(RVA = "0xDB8D50", Offset = "0xDB7D50", VA = "0x180DB8D50")]
[ReliabilityContract(Consistency.WillNotCorruptState, Cer.MayFail)]
protected SafeHandleZeroOrMinusOneIsInvalid(bool ownsHandle)
{
}
/// Gets a value that indicates whether the handle is invalid.
///
/// if the handle is not valid; otherwise, .
// Token: 0x17000067 RID: 103
// (get) Token: 0x0600030B RID: 779 RVA: 0x000033D8 File Offset: 0x000015D8
[Token(Token = "0x17000067")]
public override bool IsInvalid
{
[Token(Token = "0x600030B")]
[Address(RVA = "0xDB8DA0", Offset = "0xDB7DA0", VA = "0x180DB8DA0", Slot = "5")]
get
{
return default(bool);
}
}
}
}