jumper, on 14 February 2013 - 05:49 AM, said:
In W2K and later, many NTDLL.DLL apis are made available in Kernel32.dll via export forwarders.
jumper, on 15 March 2012 - 05:13 PM, said:
Three types of dependencies are still not supported: import forwarders, export forwarders, and dynamic delay-loads. I've been learning a lot about export forwarders lately and if import forwarders work the same way, both of these should be relatively simple to implement.
I know exactly how export forwards are implemented, but it's not a small change for Import Patcher to support them. IP is architectured to patch Imports, not Exports.
"It's impossible. But doable."
Hi jumper.
Ah, I see. And if I'm interpreting this correctly, the "ntdll.RtlDeleteCriticalSection" and similar functions seen in 'k2rnel32.dll' (W2K 'kernel32.dll') are
export forwarder thingies. So what we actually need (ignoring the other issues here) is an Export Patcher tool?
jumper, on 14 February 2013 - 05:49 AM, said:
KernelEx 4.52 runs as an MPR service, thus it loads after MPR. I assume this is why you're trying to patch MPR instead of using Kexstubs.
NTDLL.DLL interfaces directly to drivers and the OS, so it really is an impossible substitution. Kernel32.dll is also extremely OS-centric and off-limits for substitution. Also Kernel32.dll is non-relocatable, so two versions can't be loaded at the same time.
The best solution I see is to rebuild the Wine or ReactOS sources for MPR.dll and static link the necessary functions from the other librarys.
I didn't try the KexStubs path because there were so many missing dependencies involved and because there was no chance that they could all simply be stubs.
As regards the 'ntdll.dll' and 'kernel32.dll' OS compatibility, alas, I do believe you're right. I guess that's why the whole thing came crashing down in the end. As regards not being able to have two versions of 'kernel32.dll' loaded at the same time, does not renaming the W2K version (theoretically) make this possible?
Joe.
This post has been edited by jds: 15 February 2013 - 01:22 AM