Nothing calls this code yet (SearchPathW soon will), this is just an implementation commit. Code was tested to boot to 3rd stage after SearchPath modification, which is the next target (step 2).
After which, the only code in the loader paths that uses legacy path APIs will be the create process path, the third and final step.
svn path=/trunk/; revision=54646
- Handle SO_SNDBUF in WSPSetSockOpt so that it doesn't fall through to wshtcpip and result in "unknown level: 65536".
- Added more trace messages.
See issue #5477 for more details.
svn path=/trunk/; revision=54643
ReportEventA/W: Strings must be passed to ElfrReportEventA/W as a pointer to an array of PANSI_STRINGs instead of a pointer to an array of ANSI_STRINGs. Now, strings appear in the event viewer.
svn path=/trunk/; revision=54642
- Fix Get/SetWindowPlacement and everything related. Which exposed the scroll bar over write issue, it's not refreshing the client window when it is maximized. Next thing to fix.
- Fix ShowWindowAsync, now restore and minimize all works. This is based on wine but in reality it's based on Windows queuing event messages used in server side internal calls. Also this patch includes the server side hooking points.
- Removed one ugly API.
- Fixes bug 6239, 6739 and client window restore from maximize and the incremental crawling down issue when parent window is minimized then restored.
svn path=/trunk/; revision=54637
- Fixups to set focus and show window support, added notes. Add is window visible. Fix a binary bit return, 1 is TRUE. Fix get client rectangle. Minor fixups.
svn path=/trunk/; revision=54634
- Cache the last data block and offset so we don't have to search from the start each time
- This avoids needless swapping of cabinet data in and out of RAM
- File copy in text-mode setup on 32 MB RAM is down from 8 minutes to 20 seconds (in my testing)
svn path=/trunk/; revision=54632
- Fix invalid errors about "system DLL kernel32.dll was relocated in memory". This reverts my previous fix suggested by rafalh and puts a better explanation there in comments.
svn path=/trunk/; revision=54629
- Improve and rewrite a few active context support functions in RTL, making them more close to their real functionality and throwing away wineisms.
- Uncomment a line in RtlAllocateActivationContextStack() which was causing it to always allocate a new activation context stack even if there was one. Thanks to my previous commit in kernel32 counterpart, this hack is not needed anymore and memory won't be wasted.
- Since we have mostly Wine's code in our activation context implementation, it makes sense to use it properly until it's rewritten, so first of all:
- Properly initialize current process's activation context support by calling actctx_init() from LdrpInitializeProcess instead of calling it all the time when a new context is created.
- Bring in create_module_activation_context and find_actctx_dll (newer version from Wine which supports manifests/assmeblies in local directories) and use it. Every place where it's used is marked as a HACK so it will be easy to detach it later.
- Remove actctx-related hack LdrpInitializeThread, now it works properly.
- Fix a typo in LdrpMapDll found by rafalh. Now the error-detection condition will be correctly evaluated.
See issue #6611 for more details.
svn path=/trunk/; revision=54623
- Zero-initialize ActivationContextStack pointer before calling RtlAllocateActivationContextStack(). This allows to get rid of some hacks in the existing ActCtx support in the ntdll loader and actual implementation.
svn path=/trunk/; revision=54618
- Don't strip relocations for some sections. Linker knows better if they are needed. Fixes removed relocations for delayed imports in idata section. Bug traced by me, Timo and Amine.
See issue #6618 for more details.
svn path=/trunk/; revision=54613