public ReturnBuffer GetManagedBuffer(out ManagedPinnedBuffer buffer) { if (_managedBuffers == null) { _managedBuffers = new Stack <ManagedPinnedBuffer>(); } if (_managedBuffers.Count == 0) { ManagedPinnedBuffer.Add(_managedBuffers); } buffer = _managedBuffers.Pop(); return(new ReturnBuffer(buffer, this)); }