- Try to work around the ReactOS hack of saving user-mode registry flags in the keynode, by at least masking out the REG_OPTION_CREATE_LINK flag which interferes with HIVE_EXIT.
- Implement symbolic link parsing and resolution in the new parse routine (with CmpGetSymbolicLink).
svn path=/trunk/; revision=31059
- Add rasdlg to bootcd
- Delete unused icons for main.cpl
- Update English and Russian Translation for console.dll
- Small fix Russian Translation for kernel32
- Update Russian Translation for shell32
svn path=/trunk/; revision=31058
- Move CmpQueryKeyName and CmpDeleteKeyObject to config, and actually make CmpDeleteKeyObject do something.
- Partly implement CmpCloseKeyObject.
- Rewrite CmpLinkHiveToMaster to use ObOpenObjectByName instead of Ob-hacks, and add proper call in new parse routine to handle link node creation. We don't use Ob hacks for this anymore!
- Setup the CM_KEY_BODY when required.
- Call (and partly implement) EnlistKeyBodyWithKCB when required.
svn path=/trunk/; revision=31056
- Disable private KCB allocator and allocate separate pool entries for each KCB -- should fix issues some people have been experiencing until the real bug is found
- Remove all code that builds the name for the PKEY_OBJECT. This reduces non-paged pool allocation usage since the name is now stored compressed in the NCB, in paged pool.
svn path=/trunk/; revision=31047
- Use ParseContext in CmpDoCreate, removing OriginatingHive parameter since ReactOS doesn't use this.
- Sending the create options as key node flags is wrong -- identify this in the code (fixing this however will break the boot -- need to investigate).
svn path=/trunk/; revision=31046
* Don't try to link *user*mode program to static *kernelmode* libcntpr. msvcrt.dll exists for this.
* Fix main()'s declaration and definition.
* The above changes fix compiling of rostest module.
svn path=/trunk/; revision=31043
* Make the appearance and layout more like the MS version
* Added functionality for resetting scores
* Auto-complete the board, when the player is guaranteed to win
- Changes by myself:
* Add a new define WINEMINE_REGKEY to define the registry path of the WineMine settings only one time
* Store the settings in HKCU instead of HKLM and use REG_DWORD, when it makes sense
* Get WineMine to compile warning-free under MSVC
* Make the new "seconds" string translateable
* Make all WineMine resource files consistent and ensure that all visual elements are visible
See issue #2060 for more details.
svn path=/trunk/; revision=31032
- Get rid of CmiKeyObjectListHead and code that was adding/removing entries into it, it wasn't used for anything.
- Change the stupid subkey array (which caused pool fragmentation and slow-downs) with a linked-list version, since we never used the array for random indexing (the point of an array vs a linked list).
- Link key object children to parent key control blocks so that KCBs now own PKEY_OBJECTs (will help with parsing later).
- Get rid of CmiAddKeyToList since this is just an InsertTailList now.
- Remove ReactOS hacks in flush code.
- Do full parallel hive loading code in normal boot too, not just in cd-rom boot: CmpSetFileSize was causing the problem to happen so it's been disabled for now; this allowed removal of multiple ReactOS hacks.
- Use the "Allocate" flag during linking instead of hard-coding FALSE, since this also works now.
- Set HIVE_NOLAZYFLUSH to newly create hives since this is required for later.
- Remove CmiConnectedHiveList since it's not used for anything.
svn path=/trunk/; revision=31030
- Never trust MaximumLength passed from usermode when copying a unicode string (fixes a wide amount of crashes, tested with CdrLabel 4.1).
svn path=/trunk/; revision=31010
- Fix broken CmpTestRegistryLock functions, they could return FALSE even if the lock was held.
- Enable some extra assertions.
- Update KCB flags as well when updating keynode flags in CmpDoCreate.
- Update KCB Last write time as well when updating keynode lastwritetime in CmpDoCreate.
- Do CmpDoOpen with the registry lock held, and tell CmpCreateKeycontrolBlock to lock the KCB exclusively.
- Enable link-node create code to set the ChildHiveRefernece values. This is used to "escape" the current Hive when a KEY_HIVE_EXIT node is detected (an internal symlink) and required for new parsing semantics.
- Implement CmpHandleExitNode to test how "escaping" from an exit node into a link hive works (it does).
- Plug that function into the new parse routine for testing purposes.
- Enable CmpDoOpen path in the new parse routine, only used for link node creation for now.
svn path=/trunk/; revision=31009