*** KernelEx 4.5.2016.20i ***

[ApiConfigurations]
default=0
0=BASE
1=BASENOHEAP
2=BASESN
3=BASES
4=BASEN
5=MIN
6=.
7=WIN95
8=WIN98FE
9=WIN98SE
10=WINME
11=.
12=NT40
13=WIN2000D
14=WIN2Kstd
15=WINXP0
16=WINXP2
17=WINXP3
18=WIN2K3
19=VISTA
20=VISTA2
21=WIN2K8
22=WIN7A
23=WIN8
24=WIN81
25=WIN10
26=WIN10A
27=.
28=--- Experimental: ---
29=WinME_PD1
30=WinME_PD2
31=WinME_PD3
32=WinME_PD4
33=.
34=Win2K_PD1
35=Win2K_PD2
36=Win2K_PD3
37=Win2K_PD4
38=.
39=Win2K_MT
40=.
41=--- Legacy ---
42=DCFG1
43=WIN98
44=NT2K
45=NOHEAP
46=WINXP


--- No OS override ---

[BASE]
contents=std,kexbasen,kexbases
Kstub824
desc=Base enhancements (api fixes + extensions)

[BASE.names.98]
GDI32.GetCharABCWidthsI=none
GDI32.GetRandomRgn=std
GDI32.GetTextMetricsA=std
GDI32.GetWorldTransform=std
GDI32.ModifyWorldTransform=std
GDI32.SetGraphicsMode=std
GDI32.SetMapMode=std
KERNEL32.CreateIoCompletionPort=std
KERNEL32.FlsAlloc=none
KERNEL32.GetVersion=std
KERNEL32.IsProcessorFeaturePresent=none
KERNEL32.VerSetConditionMask=none
KERNEL32.VerifyVersionInfoA=none
KERNEL32.VerifyVersionInfoW=none
NTDLL.LdrUnloadDll=none
NTDLL.RtlVerifyVersionInfo=none
SHELL32.SHParseDisplayName=none

[BASE.names.Me]
GDI32.GetCharABCWidthsI=none
GDI32.GetRandomRgn=std
GDI32.GetTextMetricsA=std
GDI32.GetWorldTransform=std
GDI32.ModifyWorldTransform=std
GDI32.SetGraphicsMode=std
GDI32.SetMapMode=std
KERNEL32.CreateIoCompletionPort=std
KERNEL32.FlsAlloc=none
KERNEL32.GetVersion=std
KERNEL32.IsProcessorFeaturePresent=none
KERNEL32.VerSetConditionMask=none
KERNEL32.VerifyVersionInfoA=none
KERNEL32.VerifyVersionInfoW=none
NTDLL.LdrUnloadDll=none
NTDLL.RtlVerifyVersionInfo=none
SECUR32.DecryptMessage=std
SECUR32.EncryptMessage=std
SHELL32.SHParseDisplayName=none
USER32.AllowSetForegroundWindow=std
USER32.LockSetForegroundWindow=std
USER32.GetMouseMovePointsEx=std


[BASENOHEAP]
inherit=BASE
desc=Base enhancements (disable custom heap)

[BASENOHEAP.names]
KERNEL32.HeapCreate=std
KERNEL32.HeapDestroy=std
KERNEL32.HeapAlloc=std
KERNEL32.HeapFree=std
KERNEL32.HeapSize=std
KERNEL32.HeapReAlloc=std


[BASESN]
inherit=BASE
contents=std,kexbases,kexbasen
desc=Base (Kexbases,Kexbasen)

[BASES]
inherit=BASE
contents=std,kexbases
desc=Base (Kexbases-only)

[BASEN]
inherit=BASE
contents=std,kexbasen
desc=Base (Kexbasen-only)

[MIN]
contents=std
desc=Minimal load help (Subsystem + KnownDLLs)


--- Windows 9x ---

[WIN95]
inherit=BASE
desc=Windows 95

[WIN95.names]
KERNEL32.GetVersion=kexbases.0
KERNEL32.GetVersionExA=kexbases.1
KERNEL32.GetVersionExW=kexbases.1
NTDLL.RtlGetVersion=kexbases.1


[WIN98FE]
inherit=BASE
desc=Windows 98 (First Edition)

[WIN98FE.names]
KERNEL32.GetVersion=kexbases.1
KERNEL32.GetVersionExA=kexbases.16
KERNEL32.GetVersionExW=kexbases.16
NTDLL.RtlGetVersion=kexbases.16


[WIN98SE]
inherit=BASE
desc=Windows 98 SE

[WIN98SE.names]
KERNEL32.GetVersion=kexbases.1
KERNEL32.GetVersionExA=kexbases.2
KERNEL32.GetVersionExW=kexbases.2
NTDLL.RtlGetVersion=kexbases.2


[WINME]
inherit=BASE
desc=Windows Millennium

[WINME.names]
KERNEL32.GetVersion=kexbases.2
KERNEL32.GetVersionExA=kexbases.3
KERNEL32.GetVersionExW=kexbases.3
NTDLL.RtlGetVersion=kexbases.3


--- Windows NT ---

[NT40]
inherit=BASE
desc=Windows NT 4.0 SP6a

[NT40.names]
GDI32.GetRandomRgn=kexbases.0
GDI32.GetTextMetricsA=kexbases.0
GDI32.GetWorldTransform=kexbases.0
GDI32.ModifyWorldTransform=kexbases.0
GDI32.SetGraphicsMode=kexbases.0
GDI32.SetMapMode=kexbases.0
GDI32.SetWorldTransform=kexbases.1
KERNEL32.CreateIoCompletionPort=kexbases.0
KERNEL32.IsProcessorFeaturePresent=kexbases.0
KERNEL32.GetVersion=kexbases.3
KERNEL32.GetVersionExA=kexbases.4
KERNEL32.GetVersionExW=kexbases.4
NTDLL.RtlGetVersion=kexbases.4


[WIN2000D]
inherit=NT40
desc=Windows 2000 SP4

[WIN2000D.names]
GDI32.GetCharABCWidthsI=kexbasen.0
KERNEL32.GetVersion=kexbases.4
KERNEL32.GetVersionExA=kexbases.5
KERNEL32.GetVersionExW=kexbases.5
KERNEL32.VerSetConditionMask=kexbases.0
KERNEL32.VerifyVersionInfoA=kexbases.0
KERNEL32.VerifyVersionInfoW=kexbases.0
NTDLL.LdrUnloadDll=kexbases.0
NTDLL.RtlGetVersion=kexbases.5
NTDLL.RtlVerifyVersionInfo=kexbases.0

[WIN2Kstd]
inherit=WIN2000D
desc=Windows 2000 SP4 (standard heap)

[WIN2Kstd.names]
KERNEL32.HeapAlloc=std
KERNEL32.HeapCreate=std
KERNEL32.HeapDestroy=std
KERNEL32.HeapFree=std
KERNEL32.HeapReAlloc=std
KERNEL32.HeapSize=std


[WINXP0]
inherit=WIN2000D
desc=Windows XP

[WINXP0.names]
KERNEL32.GetVersion=kexbases.5
KERNEL32.GetVersionExA=kexbases.17
KERNEL32.GetVersionExW=kexbases.17
KERNEL32.VerifyVersionInfoA=kexbases.11
KERNEL32.VerifyVersionInfoW=kexbases.11
NTDLL.RtlGetVersion=kexbases.17
NTDLL.RtlVerifyVersionInfo=kexbases.11
SHELL32.SHParseDisplayName=kexbasen.0


[WINXP2]
inherit=WINXP0
desc=Windows XP SP2

[WINXP2.names]
KERNEL32.GetVersionExA=kexbases.6
KERNEL32.GetVersionExW=kexbases.6
KERNEL32.VerifyVersionInfoA=kexbases.1
KERNEL32.VerifyVersionInfoW=kexbases.1
NTDLL.RtlGetVersion=kexbases.6
NTDLL.RtlVerifyVersionInfo=kexbases.1


[WINXP3]
inherit=WINXP2
desc=Windows XP SP3

[WINXP3.names]
KERNEL32.GetVersionExA=kexbases.18
KERNEL32.GetVersionExW=kexbases.18
KERNEL32.VerifyVersionInfoA=kexbases.12
KERNEL32.VerifyVersionInfoW=kexbases.12
NTDLL.RtlGetVersion=kexbases.18
NTDLL.RtlVerifyVersionInfo=kexbases.12


[WIN2K3]
inherit=WINXP3
desc=Windows Server 2003 SP1

[WIN2K3.names]
KERNEL32.FlsAlloc=kexbases.0
KERNEL32.GetVersion=kexbases.6
KERNEL32.GetVersionExA=kexbases.7
KERNEL32.GetVersionExW=kexbases.7
KERNEL32.VerifyVersionInfoA=kexbases.2
KERNEL32.VerifyVersionInfoW=kexbases.2
NTDLL.RtlGetVersion=kexbases.7
NTDLL.RtlVerifyVersionInfo=kexbases.2


[VISTA]
inherit=WIN2K3
desc=Windows Vista

[VISTA.names]
KERNEL32.GetVersion=kexbases.7
KERNEL32.GetVersionExA=kexbases.8
KERNEL32.GetVersionExW=kexbases.8
KERNEL32.VerifyVersionInfoA=kexbases.3
KERNEL32.VerifyVersionInfoW=kexbases.3
NTDLL.RtlGetVersion=kexbases.8
NTDLL.RtlVerifyVersionInfo=kexbases.3


[VISTA2]
inherit=VISTA
desc=Windows Vista SP2

[VISTA2.names]
KERNEL32.GetVersion=kexbases.9
KERNEL32.GetVersionExA=kexbases.10
KERNEL32.GetVersionExW=kexbases.10
KERNEL32.VerifyVersionInfoA=kexbases.5
KERNEL32.VerifyVersionInfoW=kexbases.5
NTDLL.RtlGetVersion=kexbases.10
NTDLL.RtlVerifyVersionInfo=kexbases.5


[WIN2K8]
inherit=VISTA
desc=Windows Server 2008 SP1

[WIN2K8.names]
KERNEL32.GetVersion=kexbases.8
KERNEL32.GetVersionExA=kexbases.9
KERNEL32.GetVersionExW=kexbases.9
KERNEL32.VerifyVersionInfoA=kexbases.4
KERNEL32.VerifyVersionInfoW=kexbases.4
NTDLL.RtlGetVersion=kexbases.9
NTDLL.RtlVerifyVersionInfo=kexbases.4


[WIN7A]
inherit=VISTA2
desc=Windows 7 SP1

[WIN7A.names]
KERNEL32.GetVersion=kexbases.10
KERNEL32.GetVersionExA=kexbases.11
KERNEL32.GetVersionExW=kexbases.11
KERNEL32.VerifyVersionInfoA=kexbases.6
KERNEL32.VerifyVersionInfoW=kexbases.6
NTDLL.RtlGetVersion=kexbases.11
NTDLL.RtlVerifyVersionInfo=kexbases.6


[WIN8]
inherit=WIN7A
desc=Windows 8

[WIN8.names]
KERNEL32.GetVersion=kexbases.11
KERNEL32.GetVersionExA=kexbases.12
KERNEL32.GetVersionExW=kexbases.12
KERNEL32.VerifyVersionInfoA=kexbases.7
KERNEL32.VerifyVersionInfoW=kexbases.7
NTDLL.RtlGetVersion=kexbases.12
NTDLL.RtlVerifyVersionInfo=kexbases.7


[WIN81]
inherit=WIN8
desc=Windows 8.1

[WIN81.names]
KERNEL32.GetVersion=kexbases.12
KERNEL32.GetVersionExA=kexbases.13
KERNEL32.GetVersionExW=kexbases.13
KERNEL32.VerifyVersionInfoA=kexbases.8
KERNEL32.VerifyVersionInfoW=kexbases.8
NTDLL.RtlGetVersion=kexbases.13
NTDLL.RtlVerifyVersionInfo=kexbases.8


[WIN10]
inherit=WIN81
desc=Windows 10 (earlier)

[WIN10.names]
KERNEL32.GetVersion=kexbases.13
KERNEL32.GetVersionExA=kexbases.14
KERNEL32.GetVersionExW=kexbases.14
KERNEL32.VerifyVersionInfoA=kexbases.9
KERNEL32.VerifyVersionInfoW=kexbases.9
NTDLL.RtlGetVersion=kexbases.14
NTDLL.RtlVerifyVersionInfo=kexbases.9


[WIN10A]
inherit=WIN10
desc=Windows 10 (later)

[WIN10A.names]
KERNEL32.GetVersion=kexbases.14
KERNEL32.GetVersionExA=kexbases.15
KERNEL32.GetVersionExW=kexbases.15
KERNEL32.VerifyVersionInfoA=kexbases.10
KERNEL32.VerifyVersionInfoW=kexbases.10
NTDLL.RtlGetVersion=kexbases.15
NTDLL.RtlVerifyVersionInfo=kexbases.10


--- Experimental: ---

[WinME_PD1]
inherit=WINME
desc=WinME_PD1: PrintDlgExW_1, PrintDlgW_1

[WinME_PD1.names]
COMDLG32.PrintDlgExW=kexbasen.1
COMDLG32.PrintDlgW=kexbasen.1


[WinME_PD2]
inherit=WINME
desc=WinME_PD2: PrintDlgExW_2, PrintDlgW_2

[WinME_PD2.names]
COMDLG32.PrintDlgExW=kexbasen.2
COMDLG32.PrintDlgW=kexbasen.2


[WinME_PD3]
inherit=WINME
desc=WinME_PD3: PrintDlgW_3

[WinME_PD3.names]
COMDLG32.PrintDlgW=kexbasen.3


[WinME_PD4]
inherit=WINME
desc=WinME_PD4: PrintDlgW_fwd

[WinME_PD4.names]
COMDLG32.PrintDlgW=kexbasen.4


[Win2K_PD1]
inherit=WIN2000D
desc=Win2K_PD1: PrintDlgExW_1, PrintDlgW_1

[Win2K_PD1.names]
COMDLG32.PrintDlgExW=kexbasen.1
COMDLG32.PrintDlgW=kexbasen.1


[Win2K_PD2]
inherit=WIN2000D
desc=Win2K_PD2: PrintDlgExW_2, PrintDlgW_2

[Win2K_PD2.names]
COMDLG32.PrintDlgExW=kexbasen.2
COMDLG32.PrintDlgW=kexbasen.2


[Win2K_PD3]
inherit=WIN2000D
desc=Win2K_PD3: PrintDlgW_3

[Win2K_PD3.names]
COMDLG32.PrintDlgW=kexbasen.3


[Win2K_PD4]
inherit=WIN2000D
desc=Win2K_PD4: PrintDlgW_fwd

[Win2K_PD4.names]
COMDLG32.PrintDlgW=kexbasen.4


[Win2K_MT]
inherit=WIN2000D
desc=Windows 2000 SP4 (Multi-Threaded)

[Win2K_MT.names]
KERNEL32.GlobalMemoryStatusEx=kexbases.1


--- Legacy modes for older registry settings and Ktree9 ---

[DCFG1]
inherit=BASE
contents=std,kexbasen,kexbases
desc=Legacy Base enhancements

[WIN98]
inherit=WIN98SE
desc=Legacy Windows 98 SE

[NT2K]
inherit=WIN2000D
desc=Legacy Windows 2000 SP4

[NOHEAP]
inherit=WIN2Kstd
desc=Legacy Windows 2000 SP4 (standard heap)

[WINXP]
inherit=WINXP2
desc=Legacy Windows XP SP2

