UnauthorizedAccessException en MemoryMappedFile en C # 4
Quería jugar con un MemoryMappedFile para acceder a un archivo binario existente. Si esto es posible o soy un loco?
La idea sería asignar el archivo binario existente directamente a la memoria para algunas operaciones preferiblemente de mayor velocidad. O al menos ver cómo funcionaban estas cosas.
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);
Obtengo System.UnauthorizedAccessException no se manejó (Mensaje = Se denegó el acceso a la ruta) en la línea mf.CreateViewAccessor ().
No creo que se trate de permisos de archivos, ya que me estoy ejecutando como un usuario administrador inseguro y agradable, y no hay otros programas abiertos que puedan tener un bloqueo de lectura en el archivo. Esto está en Vista con UAC deshabilitado.
Si simplemente no es posible y me perdí algo en la documentación, hágamelo saber. Apenas pude encontrar nada haciendo referencia a esta característica de .net 4.0
¡Gracias!