Fix the implementation of the "Get Device Information" IOCTL.
Remove the broken implementation of the "Set Device Information" IOCTL.
svn path=/trunk/; revision=66910
- Enable ConnectMultiplePorts for mouclass. This means that "the events generated by all pointing devices on the system are fed to the Windows subsystem in a single input stream".
svn path=/trunk/; revision=66908
- Do not allow the creation of keys in the master hive. Fixes boot with the VMware sound driver from rapps installed (and it works, too).
CORE-5381 #resolve
svn path=/trunk/; revision=66905
- Fix some english.
- Validity checks for DosGetSftEntry returned pointer added.
- Use unsigned indices for for-loops indices that are always positive.
svn path=/trunk/; revision=66903
- Correctly handle recursive change notifications in CDefView
- Remove desktop folder hack from SHChangeNotify and move it to CDefView until we have ITranslateShellChangeNotify
Fixes phantom files/folders on desktop. Based on a patch by Huw Campbell.
CORE-8844
svn path=/trunk/; revision=66901
- Apply Wine commit b1d9d43a (winmm: Don't mask out SND_ALIAS_ID or SND_FILENAME in sndPlaySound.) by Andrew Eikum. Fixes crash in winmm_winetest:wave
- Import WINMM_CheckCallback from Wine and use it, various cleanups (commits cb77f9a2, 06d6dd3e, e6a501bb, a311dff7 by Jörg Höhle). In particular, accepting a NULL callback in DriverCallback fixes the crash in winmm_winetest:wave.
CORE-9401 #resolve
svn path=/trunk/; revision=66900
Write a proper exception filter for the emulated CPU. Allows to:
- handle memory access exceptions inside the virtual memory space (happens when a VDD installs a memory hook on a memory region and a DOS app tries to read/write inside this region);
- detect NTVDM bugs (if during emulation one tries to read/write in invalid memory areas). This should unveils at least 1 bug in the DOS device emulation, when running 386TO486.COM inside NTVDM.
svn path=/trunk/; revision=66897
Implement DOS character device support and driver loading support.
Separate the DOS memory manager code from the main DOS kernel source file.
CORE-9370 #resolve #comment Committed in revision r66895.
svn path=/trunk/; revision=66895
- Make brush structure definition C++ compatible
- Add delete callback for GDI objects and use if for brushes.
- Make IntGdiSetSolidBrushColor NTAPI instead of FASTCALL
svn path=/trunk/; revision=66891
- Add InterlockedIn/DecrementUL
- Define NULL to nullptr for C++ code
- Reorder includes a bit. First GDI then USER. Don't include most USER headers for C++ for now.
svn path=/trunk/; revision=66890
- Add ntwin32.h, move declaration of PTHREADINFO, PPROCESSINFO and W32CLIENTINFO there
- Avoid language extensions that are not C++ compatible
- Avoid dependenence to PTHREADINFO/PPROCESSINFO in ntuser.h and use incomplete types instead
- Move duplicate definition of PATRECT from ntusrtyp.h to user32.h private header
svn path=/trunk/; revision=66888
- intsafe.h: Fix some constants to be C++ compatible
- sal.h: Implement _Analysis_mode_, __prefast_operator_new_null and __prefast_operator_new_throws annotations
- Make probe.h (mostly) C++ compatible
svn path=/trunk/; revision=66886
- Handle allocation failures in FixupDIBBrushPalette
- In IntCreateDIBitmap make sure to the absolute height to GreCreateBitmap
svn path=/trunk/; revision=66883
- Introduce a "console configuration" library that is used by both CONSRV and the console properties applet so that they can share common code concerning getting/setting console registry properties.
- Make use of the Windows-compatible (and undocumented) CONSOLE_STATE_INFO structure for that purpose (as well as the WM_SETCONSOLEINFO): see commits r63819 and r58415 and links within for more details. Note: this structure needs to be 4-byte packed (contrary to what it is said in almost all the links from above. The difference is only visible at the level of the last member that is the ConsoleTitle string array. This was tested on windows).
- Simplify some parts of console settings initialization.
- Some work is still needed concerning how to correctly retrieve the default console settings (without touching the ConsoleTitle member of CONSOLE_STATE_INFO, contrary to what we do currently).
[CONSOLE.DLL]
- Make the console properties applet windows-compatible, in the sense that you can now run it on win2k3 and use it instead of the windows one. This implies having the same strange hacks as windows' one, namely, that the window handle parameter of the CPlApplet entry point is either used as the caller (parent) window handle, OR, as a shared section handle to shared data with CONSRV.
[KERNEL32]
- Rework the console applet initialization accordingly. Also we reload each time the console.dll when opening the console applet, and then unload it: this "allows" to reset all the global variables that console.dll may (and does) have.
svn path=/trunk/; revision=66867