reactos.git
12 years ago- Give the "windows" module a more meaningful name.
Colin Finck [Sun, 28 Jun 2009 14:41:02 +0000 (14:41 +0000)]
- Give the "windows" module a more meaningful name.
  It's now called "optional" as it started to contain other stuff apart from Windows native libraries.
- Add an optional file reference to the Systema font for Japanese text. The Japanese ROS GUI is already using it.
  This is probably just an intermediate solution as the font is Japanese-only (no Chinese or Korean support) and might not fit that well for dialogs, but it should serve us well for some time.

svn path=/trunk/; revision=41666

12 years agomodified base/applications/taskmgr/affinity.c
KJK::Hyperion [Sun, 28 Jun 2009 14:22:09 +0000 (14:22 +0000)]
modified   base/applications/taskmgr/affinity.c
modified   base/applications/taskmgr/debug.c
modified   base/applications/taskmgr/endproc.c
modified   base/applications/taskmgr/priority.c
   Arch Blackmann has never heard of exotic features of the C language such as "subroutines"

modified   base/applications/taskmgr/dbgchnl.c
modified   base/applications/taskmgr/procpage.c
modified   base/applications/taskmgr/procpage.h
   Did you know that Task Manager killed the wrong process when using the context menu? Fixed by using a sophisticated "subroutine" that reads the process entry index from the currently selected list item's client data, replacing the copy-pasted code that used the index of the list entry as the process entry index (which only worked before due to no sorting)
   Save the sort column and order

modified   base/applications/taskmgr/taskmgr.c
   Sort by image name by default

svn path=/trunk/; revision=41664

12 years ago- Fix build
Johannes Anderwald [Sun, 28 Jun 2009 14:12:58 +0000 (14:12 +0000)]
- Fix build

svn path=/trunk/; revision=41663

12 years ago- Start implementing the stream class driver
Johannes Anderwald [Sun, 28 Jun 2009 13:58:47 +0000 (13:58 +0000)]
- Start implementing the stream class driver
- Implemented StreamClassRegisterAdapter, StreamClassReenumerateStreams, StreamClassDebugAssert, StreamClassDebugPrint, StreamClassGetDmaBuffer
- Drivers using stream class driver should now be able to initialize

svn path=/trunk/; revision=41662

12 years agofix formatting
Christoph von Wittich [Sun, 28 Jun 2009 13:52:27 +0000 (13:52 +0000)]
fix formatting

svn path=/trunk/; revision=41661

12 years ago- Change icon for msiexec to Tango icon
Dmitry Chapyshev [Sun, 28 Jun 2009 09:21:47 +0000 (09:21 +0000)]
- Change icon for msiexec to Tango icon

svn path=/trunk/; revision=41660

12 years ago- Create mmsup.c in ReactOS memory manager directory. It hosts misc support functions:
ReactOS Portable Systems Group [Sun, 28 Jun 2009 07:52:30 +0000 (07:52 +0000)]
- Create mmsup.c in ReactOS memory manager directory. It hosts misc support functions:
  - Copy kmap.c here, since it's the very definition of "misc support function"
  - Copy some exported functions in mm.c which were listed as "misc functions"
    - Warn that current implementation of MmIsNonPagedSystemAddressValid will kill kittens.
- Rename mm.c to mmfault.c, since other than the misc functions now in mmsup.c, it was all routines to handle page/access faults.
  - Warn that MmIsAddressValid, as currently implemented, kills puppies.
  - Move WriteWatch functions to virtual.c since they're part of the Virtual API system call set already hosted there.
  - Move the global variables that people had been throwing in here to mminit.c, which is slightly more appropriate.
- Move wset.c's MmTrimUserMemory to balance.c, since that's where all other similar functions are located.
  - Incidentally, kill wset.c, as this was the only function present.
- No functional changes, just refactoring and cleanup (other than warning the critter murder the two broken functions will achieve if called).

svn path=/trunk/; revision=41659

12 years ago- Move all the functions from drvlck.c and verifier.c to ARM3's drvmgmt.c:
ReactOS Portable Systems Group [Sun, 28 Jun 2009 07:32:52 +0000 (07:32 +0000)]
- Move all the functions from drvlck.c and verifier.c to ARM3's drvmgmt.c:
  - "Managing driver managing" (by David Welch) is no more... the routines have been properly renamed and cleaned up.
  - Also moved Driver Verifier helper routines in here, and fixed a couple of bugs:
    - Do not allow hooking of the kernel or HAL image (tested on Windows Server 2003)
    - Cleanup some useless variable redefinitions and code complexity.
  - Documented what some of the Mm Lock/Unlock Pageable Section/Driver functions should do, for later if needed.
  - Made aliasses so the typo "Pagable" functions redirect to the correct "Pageable" functions.
  - No functional change -- the Verifier functions were unused, and the drvlock.c functions were unimplemented (and still are).
  - Also move one more *Pageable* function from wset.c to ARM3's drvmgmt.c -- it seemed to have been a lost orphan (Also unimplemented).

svn path=/trunk/; revision=41658

12 years ago- Reimplement MmAllocateContiguousMemory, MmAllocateContiguousMemorySpecifyCache...
ReactOS Portable Systems Group [Sun, 28 Jun 2009 05:43:12 +0000 (05:43 +0000)]
- Reimplement MmAllocateContiguousMemory, MmAllocateContiguousMemorySpecifyCache, MmFreeContiguousMemory, MmFreeContiguousMemorySpecifyCache:
  - Use a smarter algorithm (as described here: http://www.microsoft.com/whdc/Driver/tips/ContigMem.mspx) to first try to satisfy the allocation by a simple nonpaged pool allocation (for cached requests only).
    - This range is then checked for physical continuity, since it's not guaranteed for non-initial-pool allocations (and right now in ReactOS, it never is).
  - As a fallback, Windows NT then attempts to scan free nonpaged pool pages. This is not yet implemented since the ReactOS nonpaged pool is not usually contiguous (to the level that NT's is).
    - When the ARM pool is implemented and replaces nonpaged pool, this code path will have to be implemented.
  - As a last resort, the actual PFN database is scanned for contiguous free pages.
    - ReactOS used MmGetContiguousPages for this, which blindly scanned the PFN database. New MiFindContinuousPages will scan the physical memory descriptor block recently implemented, which avoids going over pages we already know are going to be unusable.
    - The ReactOS function also held the PFN lock for the entire duration of the scan, which is significant on systems with large memory. Instead, we make an initial unsafe scan first, and only lock when we think we've found a correct range (and we'll then reconfirm the ranges).
    - Finally, the older function actually did a double-scan to try to avoid using memory ranges under 16MB, which was useless on today's systems and also rather inefficient.
    - Other than that, the actual setup of the PFN entry is copy-pasted from the old ReactOS function, so nothing's changed there -- the page still looks the same, but the selection algorithm is faster and more accurate.
  - Once the pages are found, we piggyback on the new I/O mapping mechanism (which uses System PTEs) instead of doing it all over by hand as before.
  - Since the underlying support is still System PTEs, once again, optimizations to that component will yield significant improvements here too.

svn path=/trunk/; revision=41657

12 years ago- Add more hooks, where wine has them placed. Fixed user32 hooks for win32k.
James Tabor [Sun, 28 Jun 2009 03:02:15 +0000 (03:02 +0000)]
- Add more hooks, where wine has them placed. Fixed user32 hooks for win32k.

svn path=/trunk/; revision=41656

12 years agounbreak build of rostests
Timo Kreuzer [Sun, 28 Jun 2009 00:05:51 +0000 (00:05 +0000)]
unbreak build of rostests

svn path=/trunk/; revision=41655

12 years agofix advapi32 crypt winetests
Christoph von Wittich [Sat, 27 Jun 2009 23:55:29 +0000 (23:55 +0000)]
fix advapi32 crypt winetests
patch sent to wine

svn path=/trunk/; revision=41654

12 years ago[FORMATTING] Fix indentation, no code change
Timo Kreuzer [Sat, 27 Jun 2009 23:54:02 +0000 (23:54 +0000)]
[FORMATTING] Fix indentation, no code change

svn path=/trunk/; revision=41653

12 years agoUpdate SERVERINFO, PFNCLIENT, PFNCLIENTWORKER to Windows 7 version, add OEMBITMAPINFO...
Timo Kreuzer [Sat, 27 Jun 2009 23:33:57 +0000 (23:33 +0000)]
Update SERVERINFO, PFNCLIENT, PFNCLIENTWORKER to Windows 7 version, add OEMBITMAPINFO, DPISERVERINFO, PERUSERSERVERINFO
Add -fms-extensions compilerflag to user32, win32k, csrss, win32csr.

svn path=/trunk/; revision=41652

12 years agoDon't save/change/restore the DC pen in IntDrawScrollInterior, where it's not used...
Timo Kreuzer [Sat, 27 Jun 2009 23:12:22 +0000 (23:12 +0000)]
Don't save/change/restore the DC pen in IntDrawScrollInterior, where it's not used at all.

svn path=/trunk/; revision=41651

12 years ago- Copying from destination to destination isn't very smart.
ReactOS Portable Systems Group [Sat, 27 Jun 2009 22:51:23 +0000 (22:51 +0000)]
- Copying from destination to destination isn't very smart.
  - Fix bug when creating the physical memory descriptor block.

svn path=/trunk/; revision=41650

12 years ago- Actually it seems MmGetPhysicalMemoryRanges uses the MmPhysicalMemoryBlock, so...
ReactOS Portable Systems Group [Sat, 27 Jun 2009 22:39:03 +0000 (22:39 +0000)]
- Actually it seems MmGetPhysicalMemoryRanges uses the MmPhysicalMemoryBlock, so go ahead and implement that function.
  - Thanks to Matthieu Suiche (http://www.msuiche.net/2008/09/17/retrieving-mmphysicalmemoryblock-regardless-of-the-nt-version/).
  - Move physical.c into ARM3 and call it dynamic.c since these functions are for Dynamic Memory (Hotplug) for Server 2003.
  - Remove the old copyright header, as copy-pasting 5 DDK function definitions and rewriting them to say UNIMPLEMENTED isn't much of a copyright.

svn path=/trunk/; revision=41649

12 years ago- Call MmArmInitSystem for a second time, this time in Phase 1.
ReactOS Portable Systems Group [Sat, 27 Jun 2009 22:16:47 +0000 (22:16 +0000)]
- Call MmArmInitSystem for a second time, this time in Phase 1.
  - This will call MmInitializeMemoryLimits (now implemented) which will go ahead and create the MmPhysicalMemoryBlock.
    - This block contains the physical memory "runs" that are valid on the system, allowing the PFN database to differentiate between valid and non-valid RAM (instead of marking things as "BIOS").
  - Also this will come in handy later for various utilities.

svn path=/trunk/; revision=41648

12 years agoTaskmgr didn't build without compilation units,
Sylvain Petreolle [Sat, 27 Jun 2009 22:05:53 +0000 (22:05 +0000)]
Taskmgr didn't build without compilation units,
moving PerfDataGet to perfdata functions fixes it.

svn path=/trunk/; revision=41647

12 years ago- Fix callback set and changed data. Process hooks if we are hooked.
James Tabor [Sat, 27 Jun 2009 20:52:33 +0000 (20:52 +0000)]
- Fix callback set and changed data. Process hooks if we are hooked.

svn path=/trunk/; revision=41646

12 years agoAllow sorting the list of processes in Task Manager by any column. Patch by Maxime...
KJK::Hyperion [Sat, 27 Jun 2009 19:16:29 +0000 (19:16 +0000)]
Allow sorting the list of processes in Task Manager by any column. Patch by Maxime Vernier <maximevernier@gmail.com> with fixes by Sylvain Petreolle <spetreolle@yahoo.fr> and KJK::Hyperion <hackbunny@reactos.org>
See issue #4608 for more details.

svn path=/trunk/; revision=41645

12 years ago- Add some defines in preparation for _WINE.
Stefan Ginsberg [Sat, 27 Jun 2009 19:06:00 +0000 (19:06 +0000)]
- Add some defines in preparation for _WINE.
- Add missing ExtDeviceMode and PrivateExtractIconsA/W to PSDK and remove from Wine-only headers, as these are defined in the official PSDK.

svn path=/trunk/; revision=41644

12 years agofix two kernel32 locale winetests
Christoph von Wittich [Sat, 27 Jun 2009 18:46:10 +0000 (18:46 +0000)]
fix two kernel32 locale winetests

svn path=/trunk/; revision=41643

12 years ago- Implement the rest of the HCBT_ support.
James Tabor [Sat, 27 Jun 2009 18:36:29 +0000 (18:36 +0000)]
- Implement the rest of the HCBT_ support.

svn path=/trunk/; revision=41642

12 years agoAdd MIXERCONTROL_CONTROLTYPE_BASS_BOOST and KSDATAFORMAT_SUBTYPE_IEEE_FLOAT
Sylvain Petreolle [Sat, 27 Jun 2009 14:41:56 +0000 (14:41 +0000)]
Add MIXERCONTROL_CONTROLTYPE_BASS_BOOST and KSDATAFORMAT_SUBTYPE_IEEE_FLOAT

svn path=/trunk/; revision=41641

12 years ago- KeDetachProcess & KeUnstackDetachProcess: Fix a typo when swapping back to the...
Stefan Ginsberg [Sat, 27 Jun 2009 11:07:58 +0000 (11:07 +0000)]
- KeDetachProcess & KeUnstackDetachProcess: Fix a typo when swapping back to the original process that would switch _from_ the original process to itself. We now properly swap from the _current_ process.

svn path=/trunk/; revision=41640

12 years ago- This patch is lets you visually dump the entire ReactOS PFN database, useful for...
ReactOS Portable Systems Group [Sat, 27 Jun 2009 09:54:56 +0000 (09:54 +0000)]
- This patch is lets you visually dump the entire ReactOS PFN database, useful for debugging. Surprising nobody had done in this in the past, since it wasn't too hard (but it took a bit long to figure out how to get it in there).
  - That's what she said.

svn path=/trunk/; revision=41639

12 years ago - Always call the completion handler so we don't leak packet descriptors
Cameron Gutman [Sat, 27 Jun 2009 08:48:58 +0000 (08:48 +0000)]
 - Always call the completion handler so we don't leak packet descriptors
 - Don't remove the NCE if we fail because it may not be ours
 - Mark the IRPs pending before we insert them into our queue
 - Check that the addresses match so we don't receive somebody else's packets
 - Part 1 of 2

svn path=/trunk/; revision=41638

12 years ago- Remove leftover performance tracing code.
ReactOS Portable Systems Group [Sat, 27 Jun 2009 08:43:56 +0000 (08:43 +0000)]
- Remove leftover performance tracing code.

svn path=/trunk/; revision=41637

12 years ago- Reimplement kernel stack allocation (MmCreateKernelStack, MmDeleteKernelStack,...
ReactOS Portable Systems Group [Sat, 27 Jun 2009 08:41:45 +0000 (08:41 +0000)]
- Reimplement kernel stack allocation (MmCreateKernelStack, MmDeleteKernelStack, MmGrowKernelStack, MmGrowKernelStackEx):
  - Use System PTEs.
  - Allocate 12KB stacks with a 4KB guard page, and expand them up to 60KB as required.
    - Previous implementation always allocated 60KB, without any guard page.
  - The result is that on a minimal ReactOS install, simply booting up now requires an average of 0.5MB less of physical memory than before.
  - And once again, optimizations to the system PTE allocation code should significantly improve performance.
  - Should also analyze benefits of using a dead stack slist as done on Windows. (Assembla Ticket #39).

svn path=/trunk/; revision=41636

12 years agotabs -> spaces
Christoph von Wittich [Sat, 27 Jun 2009 07:38:02 +0000 (07:38 +0000)]
tabs -> spaces
use more consistent indentation

svn path=/trunk/; revision=41635

12 years ago- Allocate enough space for the ARM3 PFN database, and fixup the calculation of the...
ReactOS Portable Systems Group [Sat, 27 Jun 2009 07:14:52 +0000 (07:14 +0000)]
- Allocate enough space for the ARM3 PFN database, and fixup the calculation of the initial nonpaged pool.
- The ARM3 PFN database is more of a "shadow" database not to interfere with the real ReactOS PFN database. It starts at 0xB0000000, which is where the initial nonpaged pool started (which now starts somewhere after the ARM3 PFN database).
- No new behavior has been introduced other than additional physical memory consumption for the PFN DB pages, and updated memory layout in the ARM3 world.

svn path=/trunk/; revision=41634

12 years ago - Use the timeout that the caller gives us if it is nonzero so we don't block foreve...
Cameron Gutman [Sat, 27 Jun 2009 07:03:45 +0000 (07:03 +0000)]
 - Use the timeout that the caller gives us if it is nonzero so we don't block forever if nobody wakes us

svn path=/trunk/; revision=41633

12 years ago - The timeout value passed to tsleep is in milliseconds and so_linger is in seconds...
Cameron Gutman [Sat, 27 Jun 2009 06:59:22 +0000 (06:59 +0000)]
 - The timeout value passed to tsleep is in milliseconds and so_linger is in seconds so convert to milliseconds

svn path=/trunk/; revision=41632

12 years ago- Blow away the bottom 2GB of virtual address space in the ARM^3 initializer. Previou...
ReactOS Portable Systems Group [Sat, 27 Jun 2009 05:32:53 +0000 (05:32 +0000)]
- Blow away the bottom 2GB of virtual address space in the ARM^3 initializer. Previously this was kind of done with MmUnmapPageTable in MmInit1, but this code (And the function, which had only been used for this purpose, are gone)
- Also set the Page Directory for the system/idle process in a slightly more correct way, instead of depending on the CR3 value. Do this in ARM^3 now, and remove the older code (and the MmGetPageDirectory function, which was only used by this).

svn path=/trunk/; revision=41631

12 years ago - Don't leave the listen IRP in the queue when cancelling the listen request
Cameron Gutman [Sat, 27 Jun 2009 03:23:10 +0000 (03:23 +0000)]
 - Don't leave the listen IRP in the queue when cancelling the listen request
 - Kill all the requests before closing the socket
 - Notify oskittcp when we are cancelling requests so it can properly close the socket

svn path=/trunk/; revision=41630

12 years ago - Acquire the cancel spin lock before calling IoSetCancelRoutine
Cameron Gutman [Sat, 27 Jun 2009 03:14:06 +0000 (03:14 +0000)]
 - Acquire the cancel spin lock before calling IoSetCancelRoutine
 - Remove some extra junk

svn path=/trunk/; revision=41629

12 years ago- Rewrite MmMapIoSpace and MmUnmapIoSpace to use System PTEs instead.
ReactOS Portable Systems Group [Sat, 27 Jun 2009 03:03:24 +0000 (03:03 +0000)]
- Rewrite MmMapIoSpace and MmUnmapIoSpace to use System PTEs instead.
- Much faster and cleaner (will be even faster when System PTE allocation is optimized).
- Better handling of esoteric caching options, especially relevant for ARM.
  - Handled through the MiPlatformCacheAttributes, which should be defined differently for each platform (TODO).
    - Handles both I/O (device) and RAM physical memory.
- Correct flushing of CPU caches (not a big deal on x86, but matters on ARM).

svn path=/trunk/; revision=41628

12 years ago- ARM3-ify hypermap.c
ReactOS Portable Systems Group [Sat, 27 Jun 2009 03:00:35 +0000 (03:00 +0000)]
- ARM3-ify hypermap.c

svn path=/trunk/; revision=41627

12 years ago- Implement MiReleaseSystemPtes which is the function to deallocate System PTE alloca...
ReactOS Portable Systems Group [Sat, 27 Jun 2009 02:56:58 +0000 (02:56 +0000)]
- Implement MiReleaseSystemPtes which is the function to deallocate System PTE allocations.
  - We do some minor optimizations to combine chunks if possible after a free, similar to MD Block algorithms in freeldr.c.

svn path=/trunk/; revision=41626

12 years ago- Add STREAM_DEBUG_LEVEL
Johannes Anderwald [Fri, 26 Jun 2009 16:30:44 +0000 (16:30 +0000)]
- Add STREAM_DEBUG_LEVEL

svn path=/trunk/; revision=41625

12 years ago- Write strmini.h for stream class driver
Johannes Anderwald [Fri, 26 Jun 2009 15:51:14 +0000 (15:51 +0000)]
- Write strmini.h for stream class driver

svn path=/trunk/; revision=41624

12 years ago- Callback routine expects fdo
Johannes Anderwald [Fri, 26 Jun 2009 14:17:12 +0000 (14:17 +0000)]
- Callback routine expects fdo
- Fix boot

svn path=/trunk/; revision=41623

12 years ago- fix build broken in rev 41621
Johannes Anderwald [Fri, 26 Jun 2009 13:08:09 +0000 (13:08 +0000)]
- fix build broken in rev 41621

svn path=/trunk/; revision=41622

12 years ago- Rewrite PcRegisterIoTimeout, PcUnregisterIoTimeout to support more than one PIO_TIM...
Johannes Anderwald [Fri, 26 Jun 2009 12:05:13 +0000 (12:05 +0000)]
- Rewrite PcRegisterIoTimeout, PcUnregisterIoTimeout to support more than one PIO_TIMER_ROUTINE per device object

svn path=/trunk/; revision=41621

12 years ago- Implement NtSetThreadExecutionState (in place of what has been committed in r41599...
Aleksey Bragin [Fri, 26 Jun 2009 09:39:00 +0000 (09:39 +0000)]
- Implement NtSetThreadExecutionState (in place of what has been committed in r41599 and reverted in 41619).

svn path=/trunk/; revision=41620

12 years agorevert 41599
Christoph von Wittich [Fri, 26 Jun 2009 07:22:34 +0000 (07:22 +0000)]
revert 41599

svn path=/trunk/; revision=41619

12 years agofix formatting
Christoph von Wittich [Fri, 26 Jun 2009 06:34:25 +0000 (06:34 +0000)]
fix formatting

svn path=/trunk/; revision=41618

12 years ago- Fix breakage when in HCBT_CREATEWND callback.
James Tabor [Fri, 26 Jun 2009 02:10:52 +0000 (02:10 +0000)]
- Fix breakage when in HCBT_CREATEWND callback.

svn path=/trunk/; revision=41617

12 years ago- Turn off callback for HCBT_CREATEWND.
James Tabor [Fri, 26 Jun 2009 00:30:54 +0000 (00:30 +0000)]
- Turn off callback for HCBT_CREATEWND.

svn path=/trunk/; revision=41616

12 years ago- Fix ATOM check for HCBT_CREATEWND callback.
James Tabor [Thu, 25 Jun 2009 21:00:16 +0000 (21:00 +0000)]
- Fix ATOM check for HCBT_CREATEWND callback.

svn path=/trunk/; revision=41615

12 years ago- Implement HCBT_CREATEWND support. Tested with user32 cross wine tests, still hangs...
James Tabor [Thu, 25 Jun 2009 20:39:32 +0000 (20:39 +0000)]
- Implement HCBT_CREATEWND support. Tested with user32 cross wine tests, still hangs on win test. For Christoph.

svn path=/trunk/; revision=41614

12 years agoAdd accessibility keys.
Sylvain Petreolle [Thu, 25 Jun 2009 19:58:12 +0000 (19:58 +0000)]
Add accessibility keys.

svn path=/trunk/; revision=41613

12 years ago- revert 41605 as its incorrect
Johannes Anderwald [Thu, 25 Jun 2009 18:48:46 +0000 (18:48 +0000)]
- revert 41605 as its incorrect

svn path=/trunk/; revision=41612

12 years agosync shell32 with wine 1.1.24
Christoph von Wittich [Thu, 25 Jun 2009 14:39:01 +0000 (14:39 +0000)]
sync shell32 with wine 1.1.24

svn path=/trunk/; revision=41611

12 years agoRemove a hack from NtAccessCheck(). Bug #4169.
Dmitry Gorbachev [Thu, 25 Jun 2009 13:29:58 +0000 (13:29 +0000)]
Remove a hack from NtAccessCheck(). Bug #4169.

svn path=/trunk/; revision=41610

12 years agoNo reason to compile PSEH2 with other compilers than GCC
KJK::Hyperion [Thu, 25 Jun 2009 10:27:57 +0000 (10:27 +0000)]
No reason to compile PSEH2 with other compilers than GCC

svn path=/trunk/; revision=41607

12 years ago- Don't modify access status when function fails
Johannes Anderwald [Thu, 25 Jun 2009 07:16:26 +0000 (07:16 +0000)]
- Don't modify access status when function fails
- reduces advapi32_winetest security failures by 3

svn path=/trunk/; revision=41605

12 years agoRewrite (NtUser)SystemParametersInfo and related.
Timo Kreuzer [Thu, 25 Jun 2009 02:43:38 +0000 (02:43 +0000)]
Rewrite (NtUser)SystemParametersInfo and related.
- Instead of getting the data from the window station and other strange places, the values are now mostly stored in a global variable. This is possible because NtUserSystemParametersInfo should fail anyway when being called from a non-interactive windowstation (tested on windows XP).
- WM_SETTINGCHANGE is now properly sent not posted to all toplevel Windows also passing the registry string as the lParam value (strings could need some testing).
- SystemMetrics are now set and updated from system parameters.
- Most values are now properly loaded from registry and also saved.
- user32_winetest sysparams: before: 634 executed / 235 failures, after: 1093 executed, 11 failures
- Fixes the non-bold caption font in 2nd stage.
- Implements a number SPI codes.
- Implements helper functions for registry and file access
Thanks to all testers for all the regression testing :)

See issue #4595 for more details.

svn path=/trunk/; revision=41604

12 years agoHack: partially undo r38510 changes to overcome regression (bug #4169).
Dmitry Gorbachev [Wed, 24 Jun 2009 22:23:29 +0000 (22:23 +0000)]
Hack: partially undo r38510 changes to overcome regression (bug #4169).

svn path=/trunk/; revision=41603

12 years agofix typo
Christoph von Wittich [Wed, 24 Jun 2009 22:12:48 +0000 (22:12 +0000)]
fix typo

svn path=/trunk/; revision=41602

12 years agofix formatting
Christoph von Wittich [Wed, 24 Jun 2009 22:07:50 +0000 (22:07 +0000)]
fix formatting

svn path=/trunk/; revision=41601

12 years ago - Fix a crash that happens when we are running at APC_LEVEL, acquire the recursive...
Cameron Gutman [Wed, 24 Jun 2009 21:57:48 +0000 (21:57 +0000)]
 - Fix a crash that happens when we are running at APC_LEVEL, acquire the recursive mutex (which improperly handled APC_LEVEL), then attempt to access paged pool (or do anything else that depends on Irql < DISPATCH_LEVEL)
 - Optimize the code for acquiring and releasing the recursive mutex at DISPATCH_LEVEL

svn path=/trunk/; revision=41600

12 years agostub NtSetThreadExecutionState needed by PowerPoint Viewer 2003
Christoph von Wittich [Wed, 24 Jun 2009 19:53:54 +0000 (19:53 +0000)]
stub NtSetThreadExecutionState needed by PowerPoint Viewer 2003

svn path=/trunk/; revision=41599

12 years agofix crash while loading PowerPoint 2003 Viewer
Christoph von Wittich [Wed, 24 Jun 2009 19:53:06 +0000 (19:53 +0000)]
fix crash while loading PowerPoint 2003 Viewer
See issue #4624 for more details.

svn path=/trunk/; revision=41598

12 years ago- Hey Arch, try to learn basic PSEH2 syntax before fuddling around with it.
Stefan Ginsberg [Tue, 23 Jun 2009 23:06:10 +0000 (23:06 +0000)]
- Hey Arch, try to learn basic PSEH2 syntax before fuddling around with it.

svn path=/trunk/; revision=41597

12 years ago - Fix the order of checks
Cameron Gutman [Tue, 23 Jun 2009 14:51:50 +0000 (14:51 +0000)]
 - Fix the order of checks

svn path=/trunk/; revision=41590

12 years ago - We only need 11 chars to hold our 32-bit integer and the trailing NULL char
Cameron Gutman [Tue, 23 Jun 2009 14:47:48 +0000 (14:47 +0000)]
 - We only need 11 chars to hold our 32-bit integer and the trailing NULL char
 - Make sure we don't overread our buffer

svn path=/trunk/; revision=41589

12 years ago - Move NDIS_VERSION into ndissys.h and use it for NdisGetVersion also
Cameron Gutman [Tue, 23 Jun 2009 14:09:59 +0000 (14:09 +0000)]
 - Move NDIS_VERSION into ndissys.h and use it for NdisGetVersion also

svn path=/trunk/; revision=41587

12 years ago - Fix adapter failure if a network address of invalid length is specified
Cameron Gutman [Tue, 23 Jun 2009 14:00:49 +0000 (14:00 +0000)]
 - Fix adapter failure if a network address of invalid length is specified

svn path=/trunk/; revision=41586

12 years ago - Fix a crash when reading the network address from the registry
Cameron Gutman [Tue, 23 Jun 2009 13:58:56 +0000 (13:58 +0000)]
 - Fix a crash when reading the network address from the registry
 - Fixes bug 4634

svn path=/trunk/; revision=41585

12 years agosync urlmon with wine 1.1.24
Christoph von Wittich [Tue, 23 Jun 2009 13:37:11 +0000 (13:37 +0000)]
sync urlmon with wine 1.1.24

svn path=/trunk/; revision=41584

12 years ago - Fix adapter failure when a network address is not specified in the registry
Cameron Gutman [Tue, 23 Jun 2009 12:41:14 +0000 (12:41 +0000)]
 - Fix adapter failure when a network address is not specified in the registry
 - As a bonus, it also fixes OID_802_3_PERMANENT_ADDRESS

svn path=/trunk/; revision=41583

12 years agosync ntdll rtlstr winetest with wine 1.1.24
Christoph von Wittich [Tue, 23 Jun 2009 12:02:58 +0000 (12:02 +0000)]
sync ntdll rtlstr winetest with wine 1.1.24

svn path=/trunk/; revision=41582

12 years agosync crypt32_winetest with wine 1.1.24
Christoph von Wittich [Tue, 23 Jun 2009 11:47:46 +0000 (11:47 +0000)]
sync crypt32_winetest with wine 1.1.24

svn path=/trunk/; revision=41581

12 years agosync kernel32_winetest with wine 1.1.24
Christoph von Wittich [Tue, 23 Jun 2009 11:44:23 +0000 (11:44 +0000)]
sync kernel32_winetest with wine 1.1.24

svn path=/trunk/; revision=41580

12 years agosync shlwapi with wine 1.1.24
Christoph von Wittich [Tue, 23 Jun 2009 11:24:10 +0000 (11:24 +0000)]
sync shlwapi with wine 1.1.24

svn path=/trunk/; revision=41579

12 years ago- Reimplement the way zeroing PTEs are used:
ReactOS Portable Systems Group [Tue, 23 Jun 2009 09:34:45 +0000 (09:34 +0000)]
- Reimplement the way zeroing PTEs are used:
  - First, switch to using system PTEs as it should've been from the beginning. Our original implementation was broken and prone to race conditions, which Dmitry graciously fixed.
  - We can now remove the MiZeroPageInternal hack that was used as a way to avoid deadlock/contention in the zero paths.
  - Zeroing PTEs is done at DPC level in ReactOS, to avoid ReactOS-specific race issues. In Windows NT, this operation is always done at passive.
  - Zeroing PTEs are similar to hyperspace PTEs, but they can be mapped in chunks for optimization.
    - ReactOS does not currently make use of this functionality, so zeroing is pretty slow, especially on bootup if you have lots of memory (all RAM is zeroed).
    - The existing ReactOS "compatibility layer" for hyperspace was augmented to seamlessly use the new zeroing PTE API.
  - You must now unmap zeroing PTEs -- MiZeroPage was modified to do this.
  - System PTE binning, NBQUEUES and SLISTS would optimize this further. TBD.
- Once again, tested on the trinity of supported emulators.

svn path=/trunk/; revision=41578

12 years ago- Jesus Christ man, learn some C, will you?
ReactOS Portable Systems Group [Tue, 23 Jun 2009 09:23:16 +0000 (09:23 +0000)]
- Jesus Christ man, learn some C, will you?
- Fix boot.
- The lack of colorful poetry is brought to you by cogent human beings on the West Coast whom you should be thankful haven't gone to bed yet.

svn path=/trunk/; revision=41577

12 years ago- So it turns out bad things can happen if you play behind Mm's back.
ReactOS Portable Systems Group [Tue, 23 Jun 2009 09:11:01 +0000 (09:11 +0000)]
- So it turns out bad things can happen if you play behind Mm's back.
- The lovely poetry is brought to you by 7AM coding marathons...

svn path=/trunk/; revision=41576

12 years ago- Move ARM Pool to 0xB0000000 to avoid clashing with existing ReactOS address space...
ReactOS Portable Systems Group [Tue, 23 Jun 2009 07:49:39 +0000 (07:49 +0000)]
- Move ARM Pool to 0xB0000000 to avoid clashing with existing ReactOS address space components (shouldn't happen if things work right, but better safe than sorry).
- Implement System PTE allocator (MiReserveAlignedSystemPtes and MiReserveSystemPtes). Very simple yet functional, no optimizes for now.
- Allocate 32 zeoring PTEs from the System PTE pool.
  - Not used yet, only the allocation is made to test the current framework.
- Tested on VirtualBox, QEMU and VMWare with RAM sizes from 128MB to 1536MB with no problems.

svn path=/trunk/; revision=41575

12 years ago- Move hypermap.c into ARM3 since it will be changed to use System PTEs for zero...
ReactOS Portable Systems Group [Tue, 23 Jun 2009 07:32:43 +0000 (07:32 +0000)]
- Move hypermap.c into ARM3 since it will be changed to use System PTEs for zero PTEs to solve the current race conditions that had to be fixed/hacked around in the current implementation.
- DO NOT MAP HYPERSPACE PTEs as GLOBAL! They are now mapped as local, which might fix some really strange bugs that could've occured in the past.
- Use MiPteToAddress instead of manually doing the bitmagic when mapping a page into hyperspace.

svn path=/trunk/; revision=41574

12 years ago- For one thing, fix build in ARM3/init.c (sorry!)
ReactOS Portable Systems Group [Tue, 23 Jun 2009 06:39:10 +0000 (06:39 +0000)]
- For one thing, fix build in ARM3/init.c (sorry!)
- Secondly, initialize hyperspace in ARM³ now, at the correct place:
  - Also, create the hyperspace PDE here, and not in FreeLDR, which was incorrect in the first place.
    - This might help booting Windows/WinLDR.
- Install-tested w/ networking, with no issues found, on:
  - Virtual Box 2.4
  - VMWare 6.5
  - QEMU 0.9.0
- PEBKAC?

svn path=/trunk/; revision=41573

12 years ago- Do not zero out MC_SYSTEM pages if they are "early pages" either. This could cause...
ReactOS Portable Systems Group [Tue, 23 Jun 2009 06:32:11 +0000 (06:32 +0000)]
- Do not zero out MC_SYSTEM pages if they are "early pages" either. This could cause issues on certain systems where mapping the PFN database required "early pages", and they were zeroed before hyperspace was ready.
- Add a new flag to MmGetContigousPages to specify if these pages should be zeroed or not. Allows the nonpaged pool pages not to get automatically zeroed when allocated (the NP pool allocator can do this by itself later). This allows initial nonpaged pool to be allocated before hyperspace is ready.

svn path=/trunk/; revision=41572

12 years ago- Do not reformat other people's code simply to reformat it.
ReactOS Portable Systems Group [Tue, 23 Jun 2009 05:00:48 +0000 (05:00 +0000)]
- Do not reformat other people's code simply to reformat it.

svn path=/trunk/; revision=41571

12 years ago- Revert 41567:
ReactOS Portable Systems Group [Tue, 23 Jun 2009 04:59:32 +0000 (04:59 +0000)]
- Revert 41567:
  - ARM³ (Alternate ReactOS Memory Management Module) "stuff" is not ACORN Risc Machines (ARM) Port "stuff".
  - We are lucky this user made this change before the rest of the code was checked in -- hyperspace, MDLs, nonpaged pool, kernel stacks, I/O mappings, noncached memory and contigous memory will soon all be built on ARM³ -- good thing this wasn't the case yet!
  - Recommend this user gets banned for reverting code without approval within the 24hr grace period in ReactOS guidelines.
  - If you have a bug to report, use Bugzilla, not your head as a sledgehammer.

svn path=/trunk/; revision=41570

12 years agofix comment IsUserAdmin -> IsUserAnAdmin
Christoph von Wittich [Mon, 22 Jun 2009 22:59:30 +0000 (22:59 +0000)]
fix comment  IsUserAdmin -> IsUserAnAdmin

svn path=/trunk/; revision=41569

12 years agopartial advapi32 sid sync to wine 1.1.24
Christoph von Wittich [Mon, 22 Jun 2009 22:54:03 +0000 (22:54 +0000)]
partial advapi32 sid sync to wine 1.1.24

svn path=/trunk/; revision=41568

12 years agodon't build arm stuff on non arm builds
Christoph von Wittich [Mon, 22 Jun 2009 22:48:39 +0000 (22:48 +0000)]
don't build arm stuff on non arm builds
fixes 2nd stage

svn path=/trunk/; revision=41567

12 years ago- define YieldProcessor msvc compatible
Johannes Anderwald [Mon, 22 Jun 2009 21:07:52 +0000 (21:07 +0000)]
- define YieldProcessor msvc compatible
- rtl now builds

svn path=/trunk/; revision=41566

12 years agoChange <wine/list.h> to use the magic attribute salad for inline functions in headers
KJK::Hyperion [Mon, 22 Jun 2009 20:29:48 +0000 (20:29 +0000)]
Change <wine/list.h> to use the magic attribute salad for inline functions in headers

svn path=/trunk/; revision=41565

12 years agoDon't want to fix all uses of PSEH2 macros, therefore have some curly braces, everyone
KJK::Hyperion [Mon, 22 Jun 2009 20:27:16 +0000 (20:27 +0000)]
Don't want to fix all uses of PSEH2 macros, therefore have some curly braces, everyone

svn path=/trunk/; revision=41564

12 years agoCorrect placement of calling convention attribute
KJK::Hyperion [Mon, 22 Jun 2009 20:25:25 +0000 (20:25 +0000)]
Correct placement of calling convention attribute

svn path=/trunk/; revision=41563

12 years agomodified lib/sdk/crt/include/float.h
KJK::Hyperion [Mon, 22 Jun 2009 20:22:06 +0000 (20:22 +0000)]
modified   lib/sdk/crt/include/float.h
   What the hell has <float.h> to do with S_IFIFO, Arch?

svn path=/trunk/; revision=41562

12 years agomodified lib/rtl/exception.c
KJK::Hyperion [Mon, 22 Jun 2009 20:19:06 +0000 (20:19 +0000)]
modified   lib/rtl/exception.c
   Silence unavoidable warning

modified   lib/rtl/generictable.c
   Avoid silenceable warning

svn path=/trunk/; revision=41561

12 years agomodified dll/win32/kernel32/file/volume.c
KJK::Hyperion [Mon, 22 Jun 2009 20:15:42 +0000 (20:15 +0000)]
modified   dll/win32/kernel32/file/volume.c
modified   dll/win32/kernel32/misc/actctx.c
modified   dll/win32/kernel32/misc/lang.c
   C89 compliance

modified   dll/win32/kernel32/k32.h
   Include <limits.h>

modified   dll/win32/kernel32/misc/res.c
   Hey Arch, instead of copying and pasting definitions from <wine/list.h>, why don't you include it?

svn path=/trunk/; revision=41560

12 years agosync CreateWellKnownSid with wine 1.1.24
Christoph von Wittich [Mon, 22 Jun 2009 20:08:05 +0000 (20:08 +0000)]
sync CreateWellKnownSid with wine 1.1.24

svn path=/trunk/; revision=41559

12 years agosync advapi32_winetest with wine 1.1.24
Christoph von Wittich [Mon, 22 Jun 2009 20:07:32 +0000 (20:07 +0000)]
sync advapi32_winetest with wine 1.1.24

svn path=/trunk/; revision=41558

12 years ago#define inline to __inline for Visual C++ when compiling C sources
KJK::Hyperion [Mon, 22 Jun 2009 20:03:20 +0000 (20:03 +0000)]
#define inline to __inline for Visual C++ when compiling C sources

svn path=/trunk/; revision=41557

12 years agomodified dll/ntdll/include/ntdll.h
KJK::Hyperion [Mon, 22 Jun 2009 20:00:38 +0000 (20:00 +0000)]
modified   dll/ntdll/include/ntdll.h
   Explicitly include <pseh/pseh2.h>

modified   dll/ntdll/ldr/utils.c
   Use ANSI C variadic macros, instead of hacks

ntdll now compiles with Visual C++

svn path=/trunk/; revision=41556