private void Initialize(string mapName, int length, SharedMemoryOpenMethod openType) { switch (openType) { case SharedMemoryOpenMethod.CreateOrOpen: _MMF = MemoryMappedFile.CreateOrOpen(mapName, Capacity); break; case SharedMemoryOpenMethod.CreateNew: _MMF = MemoryMappedFile.CreateNew(mapName, Capacity); break; default: _MMF = MemoryMappedFile.OpenExisting(mapName); break; } _Accessor = _MMF.CreateViewAccessor(); unsafe { byte *pByte = null; _Accessor.SafeMemoryMappedViewHandle.AcquirePointer(ref pByte); Pointer = (IntPtr)pByte; } }
public SharedMemoryObject(string mapName, int length, SharedMemoryOpenMethod openType) : base(length) { Initialize(mapName, length, openType); }