/// <summary>
/// Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
/// </summary>
/// <filterpriority>2</filterpriority>
public void Dispose()
{
if (_disposed)
{
throw new ObjectDisposedException("Memory mapped file");
}
_ptr = null;
_mmva.Dispose();
_mmva = null;
_mmf.Dispose();
_mmf = null;
_disposed = true;
}