/// <summary> /// Recupera e remove dos dados do ponteiro informado. /// </summary> /// <param name="info"></param> /// <returns></returns> public byte[] Remove(MmfObjectPtr info) { info.Require("info").NotNull(); if (!info.View.IsOpen) { _viewManager.OpenView(info.View); } byte[] memContents = info.Area.GetMemContents(); info.View.DeAllocate(info.Area); return(memContents); }
/// <summary> /// Recupera os dados associados com o ponteiro. /// </summary> /// <param name="info"></param> /// <returns></returns> public byte[] Get(MmfObjectPtr info) { info.Require("info").NotNull(); if (!info.View.IsOpen) { _viewManager.OpenView(info.View); } byte[] memContents = info.Area.GetMemContents(); info.View.Usage++; return(memContents); }
/// <summary> /// Insere os dados no armazenamento. /// </summary> /// <param name="info">Informações para onde os dados serão salvos.</param> /// <param name="item">Dados que serão salvos.</param> /// <returns></returns> public MmfObjectPtr Insert(MmfObjectPtr info, byte[] item) { info.Require("info").NotNull(); item.Require("item").NotNull(); if (!info.View.IsOpen) { _viewManager.OpenView(info.View); } if (info.Area.HasDataSpace((uint)item.Length)) { info.Area.SetMemContents(item); return(info); } info = this.Add(item); return(info); }