Keyboard layout files have special requirements to the section layout of the dell. That is because MS win32k devs didn't write proper code and that is why the original win32k first parses all sections, looks for the .data section, checks if everything is valid and then truncates a pointer in a table to 16 bit and uses this as an offset into the section. Of course that does ONLY work, if the section is the first section AND that pointer happens to be less than 64k off from the start of the section AND the image base is 64k aligned. To achieve this, add a new module type kbdlayout that does all the neccessary things. On MSVC we merge the sections with a linker command, on GCC we use a custom linker script.
svn path=/trunk/; revision=61053
Implement ExpWin32SessionCallout, which attaches to the session that the object (desktop or window station) belongs to before invoking any callbacks. The session side of support for this is currently hardcoded to support only a single session. To make this properly work, all callbacks that go through this function have the same function pointer type now, fix this in win32k accordingly.
svn path=/trunk/; revision=61052
Implement RtlpCloseHandleCallback, closing the handle table, and use it as callback for ExSweepHandleTable in RtlpDestroyAtomHandleTable. Without a callback ExSweepHandleTable simply crashes, so obviously we never clean up any atom tables, possibly because the window station is never closed.
svn path=/trunk/; revision=61039
Implement ObSetHandleAttributes. Rename the ObIsKernelHandle macro to ObpIsKernelHandle to avoid ambiguities (ObIsKernelHandle is a public Vista+ API). Check for NtCurrentProcess and NtCurrentThread in ObpIsKernelHandle, since those are always non-kernel handles.
svn path=/trunk/; revision=61037
LogfInitializeExisting: Do not try to write to a file that has been opened as a backup file. It has been opened read-only.
svn path=/trunk/; revision=61026
Rewrite the code for generating def files. Remove useless switches. Seperate code for GCC and MSVC for easier maintainability. Make use of the new dlltool feature implemented by Kai Tietz, that allows to specify the name of an import/export. It is now possible to both export stdcall and fastcall decorated symbols as well as import from them.
svn path=/trunk/; revision=61024
- fixes vmware audio driver hangs
- needs more work
- patch by David Quintana
CORE-7488 #resolve #comment thanks for the patch
svn path=/trunk/; revision=61017
[VIDEOPRT] Implement some registry support routines to create new style (XP+) registry keys. Handle IOCTL_VIDEO_INIT_WIN32K_CALLBACKS in videoprt, reorganize the code to dispatch ioctls. Simplify failure path in IntVideoPortFindAdapter
svn path=/trunk/; revision=61013
Add all function stubs. (win32k from windows 2k3 is nasty and indexes the function table directly instead of looking up the entries...)
svn path=/trunk/; revision=61012
Fix RtlWriteRegistryValue, it closed the handle passed to it instead of checking for RTL_REGISTRY_HANDLE flag.
[NTOSKRNL]
Fix PnpRootCreateDevice, which was relying on the broken RtlWriteRegistryValue by aborting, when it *succeeded* to create a registry key, instead of when it failed.
Also use kernel handles and ObCloseHandle.
svn path=/trunk/; revision=61011
... and for 61001st commit: Fix the ANSI version of the server-side of ChangeServiceConfig2A API, which broke at converting SERVICE_FAILURE_ACTIONS ANSI structures into UNICODE ones.
Fixes the VMWare Tools Installer; blame Sylvain if it doesn't ;)
Based on a patch by Sylvain Petreolle.
CORE-7539 #comment Fixed in revision 61001, thanks !
svn path=/trunk/; revision=61001