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: 0x020005A9 RID: 1449
[Token(Token = "0x20005A9")]
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: 0x06002D4B RID: 11595 RVA: 0x00002050 File Offset: 0x00000250
[Token(Token = "0x6002D4B")]
[Address(RVA = "0x2CFC750", Offset = "0x2CFB750", VA = "0x182CFC750")]
[ReliabilityContract(Consistency.WillNotCorruptState, Cer.MayFail)]
[CLSCompliant(false)]
public unsafe void AcquirePointer(ref byte* pointer)
{
}
/// Releases a pointer that was obtained by the method.
/// The method has not been called.
// Token: 0x06002D4C RID: 11596 RVA: 0x00002050 File Offset: 0x00000250
[Token(Token = "0x6002D4C")]
[Address(RVA = "0x2CFC7E0", Offset = "0x2CFB7E0", VA = "0x182CFC7E0")]
[ReliabilityContract(Consistency.WillNotCorruptState, Cer.Success)]
public void ReleasePointer()
{
}
// Token: 0x04001A10 RID: 6672
[FieldOffset(Offset = "0x20")]
[Token(Token = "0x4001A10")]
private bool inited;
}
}