Commit graph

12 commits

Author SHA1 Message Date
Alex Ionescu 9fb0ac1448 [NTDLL]: Simplify LdrLockLoaderLock, fix its prototype, add an ASSERT, move cookie generation into its own inline.
svn path=/trunk/; revision=52576
2011-07-08 21:19:38 +00:00
Alex Ionescu d6358dd51e [NTDLL]: Fix LdrUnlockLoaderLock bugs. 4x10000$.
svn path=/trunk/; revision=52575
2011-07-08 21:07:31 +00:00
Hervé Poussineau 56f5c1f824 [LDR] In case of unrecoverable failure, always exit
svn path=/trunk/; revision=52524
2011-07-03 21:34:52 +00:00
Cameron Gutman 7056e2e757 [LDR]
- "Just to be sure" is no reason to overwrite a potential DLL load failure status

svn path=/trunk/; revision=52522
2011-07-03 20:16:12 +00:00
Aleksey Bragin 2d89dd3da3 [NTDLL/LDR]
- The long awaited LDR rewrite, a commit for testing the new implementation. In case of serious problems it may be reverted (revert should be approved by me).
- Its features include:
* A proper ...everything. Process, thread initialization codes, DLL loading (including compatible path lookup, and compatible/proper loading order of the dependent DLLs, including their initialization) and mapping and section creation, reference counting, relocations, good and understandable PE code for walking import descriptor, snapping, etc etc. Hacks--; GoodCode++;
* Activation contexts operations are now being performed compatible to how Windows performs them (though the actual actctx implementation is still Wine's, it was modified to be compatible). Previously, actctx stuff was added to the ldr code like a pepper is added to the soup: in different places until it starts to work.
* Partial DLL redirection implementation.
* Possibility to support Shim engine and app compat stuff in future.
* More cool stuff, just browse the code.
- I fixed all regressions I could find but one (hang during shutdown of the 3rd stage). The purpose of this commit is to seek and destroy the regressions I couldn't find (if there are any).
- Some of the old rarely called ldr code still remains in startup.c and utils.c. They are subject to be rewritten/removed soon, and every remaining old function is marked with a respective DPRINT1 to see when it's being called.

svn path=/trunk/; revision=52446
2011-06-24 21:30:09 +00:00
Aleksey Bragin 7fcd953546 [KERNEL32]
- Minor cleanup, better flag names (thanks to ProcessHacker team for the good names and values).
- Return error in failure path of BasepGetModuleHandleExW.
- Optimize GetModuleHandleExA so that it calls the internal routine directly, without going through GetModuleHandleExW first and thus validating parameters second time.

svn path=/trunk/; revision=51253
2011-04-04 19:35:24 +00:00
Aleksey Bragin 73b6d5b3d6 [NTDLL]
- Change Context/Parameter in LdrEnumerateLoadedModules() to PVOID (previous ULONG type was a typo).

svn path=/trunk/; revision=51210
2011-03-31 11:32:57 +00:00
Aleksey Bragin b98f8ccd88 [NTDLL]
- Implement LdrEnumerateLoadedModules().

svn path=/trunk/; revision=51208
2011-03-30 21:21:42 +00:00
Aleksey Bragin 22cb80d434 [NTDLL/LDR]
- Fix a typo in LdrQueryProcessModuleInformationEx().
- Stub LdrpEnsureLoaderLockIsHeld() for now.
- Improve LdrpRunInitializeRoutines() and enable it (just compiling, it's not in the running path of the code yet).
- Fix an uninit var warning in ldrpe.c
- Implement LdrpClearLoadInProgress().
- Rename "ExeModule" to a more consistent LdrpImageEntry.

svn path=/trunk/; revision=51079
2011-03-17 10:59:54 +00:00
Aleksey Bragin 3f20ae61b8 [NTDLL/LDR]
- Rewrite LdrQueryProcessModuleInformation.
- Start committing PE loader related code (quite a lot of it, and still not all parts yet), unused right now so won't break anything.

svn path=/trunk/; revision=51065
2011-03-16 14:22:15 +00:00
Aleksey Bragin cfec4ed826 [NTDLL/LDR]
- Rewrite LdrImageMatchesChecksum, remove now outdated LdrpCheckImageChecksum.

svn path=/trunk/; revision=51060
2011-03-16 09:52:41 +00:00
Aleksey Bragin 10346cccb2 [NTDLL/LDR]
- Rewrite loader lock APIs. Now they support proper flags, return correct error codes and generate/check a cookie.

svn path=/trunk/; revision=51056
2011-03-15 18:56:17 +00:00