- Tweak the balancer to prevent an excessive buildup of user pages while cache is paged out completely each run
- Bugcheck if we've trimmed everything as much as possibly but we are still in need of pages
svn path=/trunk/; revision=54771
- Don't flush the TLB in MmEnableVirtualMapping and MmCreateVirtualMapping because the PTE is already invalid so it can't possibly be in the TLB per x86 spec
- Added explanations of why flushes are needed or not needed in certain places
- A few small code improvements
- Should speed up ROS a bit by avoiding unnecessary TLB entry flushing
svn path=/trunk/; revision=54766
- Replace the log file critical section by a resource and use shared locks for read actions and exclusive locks for write actions.
- Add stubs for clear and backup actions.
svn path=/trunk/; revision=54763
- Reference the cache segment when flushing to avoid a race between deleting the file cache and the balancer flushing pages to disk which causes random cache segments to be freed while we're holding a lock on it
- Fixes a crash in KeReleaseMutex (used to be a crash in ExReleasePushLock) during periods of high memory load
svn path=/trunk/; revision=54745
- Samuel Serapion: Implement RtlIpv4AddressToStringEx A/W and minor enhancements RtlIpv4AddressToStringA/W. Fixes some ntdll:rtl winetests.
See issue #6779 for more details.
svn path=/trunk/; revision=54742
- Wait to acquire locks in CcRosFlushDirtyPages
- This is needed because this path is used during critical times like shutdown and very low memory situations when flushes cannot fail
svn path=/trunk/; revision=54725
- Remove "Explore from here" from context menu. It's useless, does not exist in Windows and can't be translated in current form.
svn path=/trunk/; revision=54723
- Fix broken code in drive.cpp. Spotted by r3ddr4g0n.
- General code improvements
- Don't try to create static open handler in registry when file properties are opened. Fixes two "Open" items in shortcuts context menu after opening properties window.
See issue #6746 for more details.
svn path=/trunk/; revision=54722
- Fix SHCreateSessionKey
[EXPLORER]
- Don't run startup applications if StartupHasBeenRun key exists. If it doesn't, create new key.
- Make startup code readable
See issue #1801 for more details.
svn path=/trunk/; revision=54715
- A number of fixes to CmpQueryKeyName():
* Properly check the provided buffer size against needed size.
* Don't overwrite user provided buffer.
* Write as much data as could fit into the buffer (this is normal behaviour for any query function in the kernel), returning STATUS_INFO_LENGTH_MISMATCH if not all data were written.
Thanks to r3ddr4g0n for identifying the problem, testing with DPH and testing this patch.
svn path=/trunk/; revision=54711