- Apply Wine commit f41ac94e (msi: Include the terminating null in the buffer size for decoded stream names.) by Hans Leidekker. Fixes a stack buffer overflow when installing VMware Tools.
svn path=/trunk/; revision=65859
- Implement IopGetDeviceAttachmentBase() which allows getting the base device of the device stack given any device object in it
- Implement IopGetDevicePDO() which returns the physical device object of the device stack given any device object in it
- Implement IopSetDeviceSecurityDescriptor() which will swap the old security descriptor of a device object with a new provided one
- Implement IopSetDeviceSecurityDescriptors() which will swap the old security descriptor with a new provided one in all the device objects from the lowest provided to the uppest provided one.
- Fix a fixme in IopGetSetSecurityObject(), the operation SetSecurityDescriptor is now fully implemented for both PDO & DO.
This is required by VMware driver vmci.sys.
Even though, the installation doesn't get any better; it just changes the BSOD, we now face a memory corruption (in SE).
CORE-7991
svn path=/trunk/; revision=65856
- Add another tiny text-editor Akelpad, which works "good enough" in ReactOS.
Suggested by sergeygraf@yandex.ru, patch created by rechitskiy@reactos.org
svn path=/trunk/; revision=65854
Also partly implement LsarpLookupPrivilegeDisplayName (currently, privilege description is the same as privilege name)
svn path=/trunk/; revision=65853
Partly implement the Provider class from WMI.
This allows VMware Tools installer to complain a bit less about imports not found.
The installation still fails and still ends with a BSOD though.
CORE-7991
svn path=/trunk/; revision=65849
- Re-enable the partition size check and display a warning if the install partition is too small.
- Update the required install partition size to 550MB.
svn path=/trunk/; revision=65847
- Add header for Ime information. Setup support for Ime types and hot keys.
- Finish keyboard processing changes and call Imm process key for callback to user mode.
svn path=/trunk/; revision=65845
- Add mod switch for SAS hotkey support.
- Add ImmProcessKey return flags, works the same as ImmProcessHotKey for WinCE.
svn path=/trunk/; revision=65843
- Move IME from stubs into its own file. Add flags and types to main header.
- Later, how to add Ime.h from mingw (tested it and works) and not effect VC++ ? VC SDK has Ime.h.
- Getting ready for Window Class update based on current wine tests.
svn path=/trunk/; revision=65842
Fix the following issues:
- Skip rotated font (font name starting with "@" char)
- Fix a comment (misspelled "Richedit")
- Fix enlarged preview font in font name is long (it truncated font name in 31 chars when copying)
- Fix 2 magic values (255 here is not meaningful, and it doesn't even entirely showing Unicode Plane 0)
Patch by Roy Tam.
CORE-8966 #resolve #comment Thanks. Commited in r65829.
svn path=/trunk/; revision=65829
Add French translation
It's totally broken though because the util directly writes Unicode to console. That should be fixed (see CORE-8965).
svn path=/trunk/; revision=65826
- CreateSystemThreads' parameter is unused, and the parameter of ONEPARAM_ROUTINE_CREATESYSTEMTHREADS win32k system call is set to TRUE when creating system threads in "remote processes", i.e. not CSRSS.
- Few code formatting fixes.
CORE-8949
svn path=/trunk/; revision=65825
* Do not make browseui an NT6 dll just because it has a missing include and it needs a few previously undocumented constants. We can just define them in an undoc header.
svn path=/trunk/; revision=65821
Fix NtUserProcessConnect to use the process handle we give to it, instead of the "current process"... This should fix the user32 CSR connection that I was failing to fix in previous revisions...
CORE-8949
svn path=/trunk/; revision=65820
Fix flags usage for LoadImage / CopyImage, that made network tray applet icons uglily being downscaled from 32px versions instead of their 16px counterparts.
svn path=/trunk/; revision=65819
Reintroduce CSR support for kernel mode, based on code from Ge that was wiped out in revision 58770, and by ntdll CSR code. Is needed for kernel to user-mode CSR callbacks.
For readers, I remind you the big callback picture in the Win32 subsystem:
- In Windows NT 3.1 and 3.51, USER and GDI was modeled against client/server model (USER32.DLL and WINSRV.DLL, and GDI32.DLL and GDISRV.DLL), all running in user mode (using the CSR API).
- Starting Windows NT 4.0 (and up), some USER and GDI parts were moved into kernel mode (in the WIN32K.SYS driver) to speedup communication. We get:
* GDI32.DLL as the client, doing win32k system calls (kernel-mode system calls to win32k),
* and USER32.DLL, WINSRV.DLL and WIN32K.SYS working in tandem, USER32.DLL being the client and {WINSRV.DLL, WIN32K.SYS} being the server.
USER32.DLL can do win32k system calls or CSR calls to WINSRV.DLL (client to server calls). For server-to-server calls, we have WINSRV.DLL
doing win32k system calls, or WIN32K.SYS doing CSR calls back to WINSRV.DLL . Also, there is the possibility for WIN32K.SYS to make user-mode
callbacks to USER32.DLL.
svn path=/trunk/; revision=65817
- Crash while in recursion through hook calls. Move fast calls to api. Placed safe guards for removing message queue structures. Lock threads while calling hooks. Just add paranoid code to prevent recursion freeing that will crash the kernel at some point. Fixes OpenMPT crashes, see CORE-8819. This might improve the same issues with CORE-6734.
svn path=/trunk/; revision=65815
Implement a virtualkd compatible kernel debugger transport DLL. I started this, because I didn't manage to get the original one working, but it turned out, the original one works, you only need to use the correct virtualkd version. Anyway, it's there now. A virtualkd version that works with VBox 4.3.16+ can be found here: http://forum.sysprogs.com/viewtopic.php?f=4&t=3370 or here: http://public.avast.com/~hnanicek/VirtualKd.zip
The folder is called kdvm, since I thought about adding support for VMWare as well, but here the original one probably works as well.
Also fix my email address in some files.
svn path=/trunk/; revision=65813