English (en-US) | 简体中文 (zh-CN) |
---|
KNSoft.NDK provides native C/C++ definitions and import libraries for Windows NT development.
- Windows NT
- Undocumented API declarations and type definitions, e.g.
Nt/Zw*
,Ldr*
,PEB
,TEB
,LDR_*
, ... - 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 API declarations and type definitions, e.g.
- Packages
- SMBIOS Specification
- CPUID Specification
- Unit Test Framework
- StrSafe.h (different from
strsafe.h
in Windows SDK)
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 import libraries.
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 always follow up the latest Windows NT and specifications, targets to x86, x64 and ARM64 platforms.
Only support the latest MSVC generation tools and SDKs.
Caution
In beta stage, should be used with caution.
KNSoft.NDK is licensed under the MIT license.
The content from the following public sources were lawfully used:
- Microsoft WDK/DDK/SDK
- Microsoft Public Symbolic Data
- Microsoft Learning
- Microsoft Windows Protocols
- Windows Internals
And public projects:
- phnt (from winsiderss/systeminformer, commit 68bcd5fa) - MIT
KNSoft.NDK also uses KNSoft/Precomp4C to generate DLL import libraries.