Jump to content

Recommended Posts

Posted
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...
  • 4 weeks later...
Posted (edited)

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...
Posted

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

Posted

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.

Posted (edited)

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
Posted (edited)

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
  • 1 month later...
Posted

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 )
 

Posted

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

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...