UnauthorizedAccessException no MemoryMappedFile no C # 4

Eu queria brincar com um MemoryMappedFile para acessar um arquivo binário existente. Se isso for possível ou eu sou uma pessoa louca?

A ideia seria mapear o arquivo binário existente diretamente na memória para algumas operações preferencialmente de alta velocidade. Ou, pelo menos, ver como essas coisas funcionavam.

        using System.IO.MemoryMappedFiles;


        System.IO.FileInfo fi = new System.IO.FileInfo(@"C:\testparsercap.pcap");
        MemoryMappedFileSecurity sec = new MemoryMappedFileSecurity();
        System.IO.FileStream file = fi.Open(System.IO.FileMode.Open, System.IO.FileAccess.ReadWrite, System.IO.FileShare.ReadWrite);
        MemoryMappedFile mf = MemoryMappedFile.CreateFromFile(file, "testpcap", fi.Length, MemoryMappedFileAccess.Read, sec, System.IO.HandleInheritability.Inheritable, true);
        MemoryMappedViewAccessor FileMapView = mf.CreateViewAccessor();
        PcapHeader head = new PcapHeader();
        FileMapView.Read<PcapHeader>(0, out head);

Eu recebo System.UnauthorizedAccessException foi manipulado (Message = acesso ao caminho é negado.) Na linha mf.CreateViewAccessor ().

Eu não acho que é permissões de arquivo, desde que eu estou executando como um usuário administrador agradável e inseguro, e não existem outros programas abertos que podem ter um bloqueio de leitura no arquivo. Isso está no Vista com o UAC desativado.

Se simplesmente não for possível e eu perdi alguma coisa na documentação, por favor me avise. Eu mal conseguia encontrar qualquer coisa referenciando esse recurso do .net 4.0

Obrigado!

questionAnswers(4)

yourAnswerToTheQuestion