Lee el archivo asignado en memoria o conoce su tamaño para leerlo correctamente

En esta pregunta,

Lea todo el contenido del archivo asignado en memoria o del Accesedor de vista asignado en memoria sin saber su tamaño

hay un problema, el(int)stream.Length no me está dando la longitud correcta, sino que da el tamaño del búfer interno utilizado. Necesito actualizar esta pregunta porque es muy urgente.

La pregunta principal fue:

Necesito algo similar a ReadToEnd o ReadAllBytes para leer todo el contenido del MemoryMappedFile usando el MappedViewAccessor si no sé el tamaño, ¿cómo puedo hacerlo?

Lo he buscado, he visto esta pregunta, pero no es lo que estoy buscando:

¿Cómo puedo leer rápidamente los bytes de un archivo asignado en memoria en .NET?

La vieja respuesta fue:

pub

public static ReadMMFAllBytes(string fileName)
{
    using (var mmf = MemoryMappedFile.OpenExisting(fileName))
    {
        using (var stream = mmf.CreateViewStream())
        {
            using (BinaryReader binReader = new BinaryReader(stream))
            {
                return binReader.ReadBytes((int)stream.Length));
            }
        }
    }
}

En esta pregunta:

Memoria asignada a la longitud del archivo

No hay una respuesta exacta de la pregunta exacta! La pregunta es sobre algo más que el título.

Respuestas a la pregunta(1)

Su respuesta a la pregunta