コード例 #1
0
ファイル: MmfStorage.cs プロジェクト: fabrimaciel/colosoft
 /// <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);
 }
コード例 #2
0
ファイル: MmfStorage.cs プロジェクト: fabrimaciel/colosoft
 /// <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);
 }
コード例 #3
0
ファイル: MmfStorage.cs プロジェクト: fabrimaciel/colosoft
 /// <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);
 }