Memory and Hardware Interop Library
Version 3.2
An extensive memory and hardware abstraction and wrapper library featuring a number of unique and useful classes and structures built in Visual Basic .NET and CIL for native Windows operating systems.
Note: Run these projects with elevated permission, and native to your platform. If you are on a 64-bit machine, compile with the 64-bit configuration.
Visit The Wiki.
(See below for important namespaces and classes)
(Click Here For The Unabridged Namespace Map)
DTCore contains the core unmanaged memory manipulation structures and classes that DTInterop is built on. It is heavily coded in CIL on the backend, with VB.NET on the front using ILSupport.
This library features VB.NET language-specific indexed accessor properties for MemPtr, SafePtr, and Blob. These tools can directly interface with unmanaged memory and pinned GCHandles to quickly manipulate data at the byte-level for just about any kind of blittable object.
These classes CAN be used in C#, but since the C# language does not support properties with indexers, the functions will appear in Intellisense by their internal 'magic' names. For example, a property called ByteAt(index As Integer) will appear in C# as two separate functions: byte get_ByteAt(int index) and void set_ByteAt(int index, byte value).
These classes were written with VB.NET developers in mind, since the VB.NET language specification does not define any method by which to utilize pointers or unsafe calls.
These classes help VB.NET developers do with greater ease things that C# developers take for granted, often more conveniently so. Some of the features of these classes may also be of interest to C# and F# developers because they make working with unmanaged memory (and memory buffers, in general) a bit more concise and monolithic.
DTInterop is an OS and hardware abstraction and wrapper library for systems running on native Windows platforms.
This library was written entirely in in VB.NET using DTCore as the backbone for easily manipulating unmanaged memory in VB.NET.
This library is not specific to VB.NET, and works well in all .NET languages, including C# and F#.
DevEnumPublic is the jump-off point for the computer hardware information and manipulation portion of this library.
Other independent subsystems include Desktop and Shell, Virtual Media Control, Networking, System Information, and others. See below, or see the Wiki for more details.
- Note, running the examples will require you to run Visual Studio as Administrator.
Click Here For The Unabridged Namespace Map
- DataTools.Memory Namespace
- DataTools.BitStream Namespace
- DataTools.Interop Namespace
- DataTools.Interop.Desktop Namespace
- DataTools.Interop.Disk Namespace
- DataTools.Interop.Display Namespace
- DataTools.Interop.Network Namespace
- DataTools.Interop.Printers Namespace
- DataTools.Interop.Usb Namespace
- DataTools.Strings Namespace
- DataTools.SystemInfo Namespace
DTMath is an extended miscellaneous mathemetics library, including working with polar coordinates and an extensive color space math calculation library.
DTExtended is a collection of advanced modules including UnitConverter and BinarySearcher.