Skip to content

Releases: Reloaded-Project/Reloaded.Memory.Buffers

Minor #3 Patch #1

04 Sep 02:05
Compare
Choose a tag to compare

Changes

  • Exposed the SetAlignment function, allowing the user to manually set alignment of a buffer before the next write.
  • Added a note to ExecuteWithLock that it operates on a per thread basis.

Minor #3

03 Aug 06:34
Compare
Choose a tag to compare

Features

Execute with lock.

The new function ExecuteWithLock of MemoryBuffer allows you to execute arbitrary code while keeping the buffer locked.
This can be used in certain special cases, such as for example guaranteeing a certain write address.

BugFixes

  • Fixed potential bug where the buffer may refuse to let go of a mutex when there isn't sufficient space.

Minor #2

26 Apr 19:09
Compare
Choose a tag to compare

Changelog

  • Add extra READ_WRITE_EXECUTE Page condition check in MemoryBufferSearcher's FindBuffers, allowing for faster finding of existing MemoryBuffers.
  • If cache is disabled for searching, only new found buffers will be considered for candidates of MemoryBufferSearcher GetBuffers' return. (i.e. Completely ignore cached values)
  • MemoryBufferSearcher will now replace buffer references instead of inserting if they don't exist as it is faster (microoptimization).
  • Replace locks with systemwide Mutex allowing for general threading safety improvements. Not only multiple threads but now multiple programs can now concurrently perform allocation/deallocation of memory/buffers/privatebuffers safely.
  • Implement Allocate and Free in MemoryBufferHelper, allowing for thread safe pure memory allocations in specified regions.
  • Implement greater use of IDisposable under the hood.
  • Readme improvements.

Patch #1

05 Jan 07:56
Compare
Choose a tag to compare

Implement a finalizer in PrivateMemoryBuffer to ensure that native memory is freed upon Garbage Collection of a private buffer.

Updates the underlying Reloaded.Memory dependency, bringing forth underlying improvements.

Minor #1

02 Jan 02:04
Compare
Choose a tag to compare

This update brings you the new implementation of PrivateMemoryBuffer.

The PrivateMemoryBuffer is a MemoryBuffer at heart, directly inheriting from MemoryBuffer. The catch is that it is not shared and can be disposed by you from unmanaged memory once you are done using it.

Patch #6

28 Dec 01:14
Compare
Choose a tag to compare

Improve performance by adding most recently created buffer to cache.
(Somehow I missed this)

Patch #5

22 Dec 01:06
Compare
Choose a tag to compare

Implement additional error handling to prevent 0/negative minimum addresses due to WinAPI collisions.

Patch #4

21 Dec 23:54
Compare
Choose a tag to compare

Fixes an incorrect intersection check leading to the library believing space cannot be allocated in cases it can.

Patch #3

21 Dec 19:25
Compare
Choose a tag to compare

Fix X86 Arithmetic Exception

Patch #2

21 Dec 12:02
Compare
Choose a tag to compare

Merge contents of Vanara.Kernel32.PInvoke into the library.
Introduce Multi-Targeting for NuGet Releases.