Skip to content
View in the app

A better way to browse. Learn more.

MSFN

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Kext: DIY KernelEx extensions

Featured Replies

On 9/23/2019 at 12:36 AM, deomsh said:

Please read this:

https://msfn.org/board/topic/157173-kext-diy-kernelex-extensions/page/25/#comments

MSVCR70.DLL or MSVCR71.DLL should be used instead of MSVCRT.DLL too. Rename/ copy when still in MS-DOS (real mode) or use KnownDLLs in Registry (reboot needed). 

 

I should've asked years ago, but how do I manually add stubs? I know KernelEx serves as a compatibility layer and stubs out missing functions to allow Windows NT programs run on 9x, but I was never informed how I could try doing this myself.

While stubbing functions, am I required to place those missing files with something? I am aware certain programs linked by jumper will give us a live info of missing files and dependencies.

  • 1 month later...

  • 3 months later...

Where can I download those Kernel Extensions? Have it support for all languages?

  • 4 weeks later...

A bit late but I am following now. First page https://msfn.org/board/topic/173302-kernelex-auxiliary-dll-updates/?do=findComment&comment=1092328 and 4.5.2 ones have not changed to what was used in KernelEx 4.5.2. language is written into the Kernel I think. I do not think language in these files would be a problem unless file names and functions are named in different languages and you want to interrogate but I did not think they were?

Edited by Goodmaneuver

  • 2 weeks later...

Are these functions catered for in KEX

GetLocaleInfoEx  > Kernel32
GetSystemDefaultLocaleName > Kernel32
IsValidLocaleName > Kernel32
LCIDToLocaleName > Kernel32
GetFontFileInfo > Gdi32                      This one is asking for the font name
GetFontRealizationInfo > Gdi32           This one is asking for the font ID and is a ROS function call

Is there any chance of these functions set to work or stubbed.

Does this make sense

 

@@ -8180,7 +8245,7 @@ static BOOL freetype_GetFontRealizationInfo( PHYSDEV dev, void *ptr )
         info->flags |= 2;
 
     info->cache_num = physdev->font->cache_num;
-    info->instance_id = -1;
+    info->instance_id = physdev->font->instance_id;
     if (info->size == sizeof(*info))
     {
         info->unk = 0;

DirectX.png

  • Author

Vista APIs. Use Kexstubs, 823 for now until I post 824.

 

To use Kexstubs already catered for function redirects or stubs need to be known in case of duplicates. Is there any easy way of finding out this. Like I was not sure of the 4 Kernel functions listed above. The gdi32 ones I would like to try to redirect to GdiPlus functions. Like GetFontFamily for example.

Nlsdl has the missing kernel Dwrite functions. I have read somewhere in MSFN that may have helped to redirect functions to other modules using KEX stubs and core.ini is there instructions?

Nlsdl.png

Edited by Goodmaneuver

Ktree9 Jan 2013 if that the latest does not include functions of those shown in the other image for DirectX 11 which D2D1 is used in programs mentioned in other posts. Blackwingcat's Msvcrt wrapper (includes _ftol2_sse) does not need to be used, it depends on what files are chosen but BWC's wrapper was shown in 6 posts up. It works if not used to extreme as a replacement for Msvcrt - the memory manager has trouble. The DownlevelLCIDToLocaleName is equivalent to LCIDToLocaleName for instance, so redirecting LCIDToLocaleName to DownlevelLCIDToLocaleName should work. Please consider.

Edited by Goodmaneuver
typing/misspell

I believe that the assigning in most modern Windows of some files to use SSE2 and some to not use SSE/2 is fine tuning and we should take note of this. Msasn1 has SSE2 where as Msls31 has not. Msasn1 can be made compatible with BWC's wrapper and BASE & see here  https://msfn.org/board/topic/173233-kernelex-45-core-updates-45201617/?do=findComment&comment=1171794 
 

 

  • Author

DirectX > 9 and files from BWC are not supported.

 

  • 1 month later...

There are 2 x GlobalMemoryStatusEx Kernel32 ;kexbases shown on Ktree, is this OK?

These functions are not mentioned in Ktree and are working

RtlImageNtHeaderEx => RtlImageNtHeader     
LdrProcessRelocationBlock => RtlReAllocateHeap    These 2 are tested with ImageHlp up to version 6.1.7601.22484 for several years and OK. ( RtlImageNtHeader is mentioned in Ktree but why when it is a function already in Ntdll )
 

My small collection of unsupported API's from recent times.

[ntdll.dll]
IoUnregisterDeviceInterface=  

[Avicap32.dll]
capCreateCaptureWindowW=
capGetDriverDescriptionW=

[ADVAPI32.dll]
CredProfileLoaded=
EnumerateTraceGuids=       

[GDI32.DLL]
D3DKMTDestroyDCFromMemory=
D3DKMTCreateDCFromMemory=

[LZ32.DLL]
DnsValidateName_W=        ;KM76
WinHttpReadData=           ;Flash23
WinHttpReceiveResponse=       ;Flash23

[msvcrt.dll]
_except_handler4_common=
_ftol2=                   ; or ?ntdll
_ftol2_sse=               ; or ?ntdll

[ntdll.dll]
NtUnloadKeyEx=
RtlIsDosDeviceName_U=
RtlMakeSelfRelativeSD=       ;FF38
RtlSelfRelativeToAbsoluteSD=     ;FF38
RtlStringFromGUID=              ;FF38
RtlUnicodeToOemN=

[RPCRT4.dll]
NdrAsyncServerCall=

[Secur32.dll]
TranslateNameW=

[SETUPAPI.dll]
CM_Connect_MachineW=          ;KM76
CM_Disconnect_Machine=        ;KM76
CM_Locate_DevNode_ExW=        ;KM76

Create an account or sign in to comment

Recently Browsing 0

  • No registered users viewing this page.

Account

Navigation

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.