KNSoft.NDK
1.0.3-alpha
See the version list below for details.
dotnet add package KNSoft.NDK --version 1.0.3-alpha
NuGet\Install-Package KNSoft.NDK -Version 1.0.3-alpha
<PackageReference Include="KNSoft.NDK" Version="1.0.3-alpha" />
paket add KNSoft.NDK --version 1.0.3-alpha
#r "nuget: KNSoft.NDK, 1.0.3-alpha"
// Install KNSoft.NDK as a Cake Addin #addin nuget:?package=KNSoft.NDK&version=1.0.3-alpha&prerelease // Install KNSoft.NDK as a Cake Tool #tool nuget:?package=KNSoft.NDK&version=1.0.3-alpha&prerelease
KNSoft.NDK
KNSoft.NDK provides native C/C++ definitions and import libraries for Windows NT and some specifications development.
Feature
- Windows NT
- Undocumented type definitions, e.g.
PEB
,TEB
,LDR_*
, ... - Undocumented API declarations, e.g.
Nt/Zw*
,Ldr*
, ... - Definitions in public sources but not in Windows SDK, e.g.
winsta.h
,KUSER_SHARED_DATA
, ... - Import library for Windows DLL exports, e.g.
KERNEL32.dll!CreateProcessInternalW
,ntdll.dll!LdrRegisterDllNotification
, ... - Addendum to Windows SDK
- Extension macros and definitions, e.g.
NtCurrentPeb()
,PEB(64/32)
,TEB(64/32)
, ...
- Undocumented type definitions, e.g.
- Specifications
- SMBIOS
- CPUID
- MSVC
- Kits
- Unit Test Framework
- StrSafe.h (different from
strsafe.h
in Windows SDK)
Usage
TL;DR
Include NDK.h instead of (or BEFORE) Windows.h
will do.
#include <KNSoft/NDK/NDK.h>
NuGet package KNSoft.NDK includes all the headers and compiled libraries.
Details
The following features are not enabled by default, reference corresponding headers and libraries on demand:
- Specifications
- Ntdll Hash API (
(A_SHA/MD4/MD5)(Init/Update/Final)
)- Ntdll.Hash.h
- KNSoft.NDK.Ntdll.Hash.lib (Generated from KNSoft.NDK.Ntdll.Hash.xml)
- Windows API import library addendum
- KNSoft.NDK.WinAPI.lib (Generated from KNSoft.NDK.WinAPI.xml)
- Unit Test Framework
- Safe string functions (different from
strsafe.h
in Windows SDK)
The following features are enabled by default, can be excluded by defining corresponding macro:
Macro | Exclude feature |
---|---|
_KNSOFT_NDK_NO_EXTENSION | Addendum or extension macros and definitions |
_KNSOFT_NDK_NO_EXTENSION_MSTOOLCHAIN | Microsoft Tool Chain Specification |
_KNSOFT_NDK_NO_INLINE | Use inline implementation instead of function call |
Compatibility
KNSoft.NDK always keep up with trends:
- Keep up the latest Windows NT and specifications
- Build with the latest Visual Studio (MSVC) and SDK, targets to x86, x64 and ARM64 platforms
[!CAUTION] In alpha stage, do not use on production environment.
License
KNSoft.NDK is licensed under the MPL-2.0 license.
The content from the following public sources were used:
- Microsoft WDK/DDK/SDK
- Microsoft Public Symbolic Data
- Microsoft Learning
- Microsoft Windows Protocols
And public projects:
- NDK (From ReactOS) - MIT
- winsiderss/phnt - CC-BY-4.0
KNSoft.NDK also uses KNSoft/Precomp4C to generate DLL import libraries.
Learn more about Target Frameworks and .NET Standard.
This package has no dependencies.
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
Version | Downloads | Last updated |
---|---|---|
1.2.9-beta | 41 | 11/18/2024 |
1.2.8-beta | 78 | 11/10/2024 |
1.2.7-beta | 57 | 11/6/2024 |
1.2.4-beta | 174 | 10/9/2024 |
1.2.3-beta | 50 | 10/3/2024 |
1.2.2-beta | 52 | 9/29/2024 |
1.2.1-beta | 61 | 9/23/2024 |
1.2.0-beta | 61 | 9/19/2024 |
1.1.0-beta | 111 | 8/9/2024 |