using System;
using System.Runtime.ConstrainedExecution;
using Cpp2IlInjected;
using Microsoft.Win32.SafeHandles;
namespace System.Runtime.InteropServices
{
/// Provides a controlled memory buffer that can be used for reading and writing. Attempts to access memory outside the controlled buffer (underruns and overruns) raise exceptions.
// Token: 0x0200058A RID: 1418
[Token(Token = "0x200058A")]
public abstract class SafeBuffer : SafeHandleZeroOrMinusOneIsInvalid
{
/// Obtains a pointer from a object for a block of memory.
/// A byte pointer, passed by reference, to receive the pointer from within the object. You must set this pointer to before you call this method.
/// The method has not been called.
// Token: 0x06002B37 RID: 11063 RVA: 0x00002050 File Offset: 0x00000250
[Token(Token = "0x6002B37")]
[Address(RVA = "0x2382180", Offset = "0x2380F80", VA = "0x182382180")]
[CLSCompliant(false)]
[ReliabilityContract(Consistency.WillNotCorruptState, Cer.MayFail)]
public unsafe void AcquirePointer(ref byte* pointer)
{
}
/// Releases a pointer that was obtained by the method.
/// The method has not been called.
// Token: 0x06002B38 RID: 11064 RVA: 0x00002050 File Offset: 0x00000250
[Token(Token = "0x6002B38")]
[Address(RVA = "0x2382210", Offset = "0x2381010", VA = "0x182382210")]
[ReliabilityContract(Consistency.WillNotCorruptState, Cer.Success)]
public void ReleasePointer()
{
}
// Token: 0x0400194D RID: 6477
[FieldOffset(Offset = "0x20")]
[Token(Token = "0x400194D")]
private bool inited;
}
}