UnauthorizedAccessException für MemoryMappedFile in C # 4

Ich wollte mit einem MemoryMappedFile herumspielen, um auf eine vorhandene Binärdatei zuzugreifen. Ist das überhaupt möglich oder bin ich eine verrückte Person?

Die Idee wäre, die vorhandene Binärdatei für einige Operationen mit vorzugsweise höherer Geschwindigkeit direkt auf den Speicher abzubilden. Oder um zumindest zu sehen, wie diese Dinge funktionierten.

        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);

Ich erhalte System.UnauthorizedAccessException wurde in der Zeile mf.CreateViewAccessor () nicht behandelt (Message = Zugriff auf den Pfad verweigert.).

Ich glaube nicht, dass es sich um Dateiberechtigungen handelt, da ich als netter, unsicherer Administrator arbeite und keine anderen Programme geöffnet sind, die möglicherweise eine Lesesperre für die Datei haben. Dies ist unter Vista mit deaktivierter Benutzerkontensteuerung möglich.

Wenn es einfach nicht möglich ist und ich etwas in der Dokumentation verpasst habe, lassen Sie es mich bitte wissen. Ich konnte kaum etwas finden, das auf diese Funktion von .net 4.0 verweist

Vielen Dank!

Antworten auf die Frage(4)

Ihre Antwort auf die Frage