Skip to content
This repository has been archived by the owner on Dec 21, 2022. It is now read-only.
/ dtlib Public archive

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 MSIL for native Windows operating systems.

Notifications You must be signed in to change notification settings

nmoschkin/dtlib

Repository files navigation

DataTools

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)

Individual Libraries

DTCore

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

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.

Important Namespaces and Classes

Visit the Wiki

Click Here For The Unabridged Namespace Map

Other Libraries

DTMath

DTMath is an extended miscellaneous mathemetics library, including working with polar coordinates and an extensive color space math calculation library.

DTExtended

DTExtended is a collection of advanced modules including UnitConverter and BinarySearcher.

About

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 MSIL for native Windows operating systems.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published