14 years agogerman translation update
Klemens Friedl [Wed, 14 Jun 2006 20:07:20 +0000 (20:07 +0000)]
german translation update
patch created by EmuandCo and DangerGround

svn path=/trunk/; revision=22348

14 years agoFix SESSION5_INITIALIZATION_ERROR by reverting part of 22219. The code is the same...
Hervé Poussineau [Wed, 14 Jun 2006 09:36:15 +0000 (09:36 +0000)]
Fix SESSION5_INITIALIZATION_ERROR by reverting part of 22219. The code is the same as in pre-22219 era, but separated in different files
Thanks Alex for reporting the faulty revision

svn path=/trunk/; revision=22347

14 years ago- Handle mount failure (such as when a CDROM isn't actually inside the drive) instead...
Alex Ionescu [Wed, 14 Jun 2006 06:48:28 +0000 (06:48 +0000)]
- Handle mount failure (such as when a CDROM isn't actually inside the drive) instead of assuming success and setting a NULL device object. Fixes regression seen by Arty/James when winefiling, dir d:-ing or hardware device wizarding.

svn path=/trunk/; revision=22346

14 years ago- Fix some referencing/bugs in Ob functions that I wrote which were known fixmes.
Alex Ionescu [Wed, 14 Jun 2006 04:02:02 +0000 (04:02 +0000)]
- Fix some referencing/bugs in Ob functions that I wrote which were known fixmes.
- Remove every instance of ObDereferenceObject after an ObInsertObject that I could find. This temporarily will make the object leaks even worse, but it's better to increase leaks and then fix the ref bug, then to decrease references while missing spots that forgot to reference them (you'd end up with hard to debug randomly dying objects).

svn path=/trunk/; revision=22345

14 years agofix checking of the properties dialog to see if it's open before sending messages...
Ged Murphy [Tue, 13 Jun 2006 21:30:54 +0000 (21:30 +0000)]
fix checking of the properties dialog to see if it's open before sending messages to it. Stops the crash when starting or stopping services

svn path=/trunk/; revision=22344

14 years ago- Add a MSVCConfiguration class, to keep trace of parameters instead of parsing each...
Hervé Poussineau [Tue, 13 Jun 2006 21:23:25 +0000 (21:23 +0000)]
- Add a MSVCConfiguration class, to keep trace of parameters instead of parsing each time the configuration name
- When building with MSVC headers, win32api and Wine directories are omitted and some defines are added

svn path=/trunk/; revision=22343

14 years agoAdd files to project only if the "If" condition is true.
Hervé Poussineau [Tue, 13 Jun 2006 17:39:17 +0000 (17:39 +0000)]
Add files to project only if the "If" condition is true.

svn path=/trunk/; revision=22342

14 years agoFix formatting. No code change
Hervé Poussineau [Tue, 13 Jun 2006 17:37:27 +0000 (17:37 +0000)]
Fix formatting. No code change

svn path=/trunk/; revision=22341

14 years agoAdding future DefWnd calls to win32k.
James Tabor [Tue, 13 Jun 2006 15:13:02 +0000 (15:13 +0000)]
Adding future DefWnd calls to win32k.

svn path=/trunk/; revision=22340

14 years ago- Enable ROS_LEAN_AND_MEAN if you want 50% smaller binaries and a 20MB reduction...
Alex Ionescu [Tue, 13 Jun 2006 04:50:14 +0000 (04:50 +0000)]
- Enable ROS_LEAN_AND_MEAN if you want 50% smaller binaries and a 20MB reduction in memory usage.
- Create a new module type: exportdriver for drivers which also export files. Not supremely useful right now, but it helps us decrease compilation time of normal drivers by not running useless commands on them. Later we'll also strip out their export table. We can also make exportdrivers automatically read their .def file instead of specfiygone one.

svn path=/trunk/; revision=22339

14 years ago* When comparing two strings, you do not need to check what comes after them.
Brandon Turner [Tue, 13 Jun 2006 00:26:08 +0000 (00:26 +0000)]
* When comparing two strings, you do not need to check what comes after them.
* You do not need to look for the next space in the "command" to run on if success, that will be handled later on, and causes it to skip over to much if it done in both spots

svn path=/trunk/; revision=22334

14 years agoWine patch by Thomas Kho: Fix behavior when selecting disabled menu items.
James Tabor [Mon, 12 Jun 2006 23:23:50 +0000 (23:23 +0000)]
Wine patch by Thomas Kho: Fix behavior when selecting disabled menu items.

svn path=/trunk/; revision=22333

14 years agomissed this little blighter ....
Ged Murphy [Mon, 12 Jun 2006 22:40:56 +0000 (22:40 +0000)]
missed this little blighter ....

svn path=/trunk/; revision=22331

14 years ago- sync from Wine-0_9_5 to Wine-0_9_15
Ged Murphy [Mon, 12 Jun 2006 22:35:32 +0000 (22:35 +0000)]
- sync from Wine-0_9_5 to Wine-0_9_15
- there are a few small differences between ROS comctl32 and Wine comctl32, in listview.c and treeview.c. I've dropped the Wine versions in for now, as they appear to be trivial. I'll insert our small alterations after testing, if required. For now, we are using 100% Wine code.
- We are failing some comctl32 Wine tests in ROS, but passing more than previous.

Sync to Wine-0_9_15:
Mikoaj Zalewski <>
- comctl32: header: Put the new item in place of the hot divider instead of swapping.
- comctl32: header: Draw the drag image and hot dividers while dragging an item.
- comctl32: header: Fix an order-related bug in HEADER_InternalHitTest.
- comctl32: header: Implement HDM_SETHOTDIVIDER.
- comctl32: header: Implement HDM_CREATEDRAGIMAGE.
- comctl32: listview: Apply the HDS_DRAGDROP header style if needed.
- comctl32: header: Update the rects in HEADER_Refresh if needed.
- comctl32: header: Ignore out-of-range iOrder in SetItemT.
Paul Vriens <>
- comctl32/header: Check Null before accessing struct member.
Alexandre Julliard <>
- comctl32: Dialog procedures should be called with CallWindowProc.

Sync to Wine-0_9_14:
Mikoaj Zalewski <>
- comctl32: header: Don't try to draw items outside the clipping rect.
- comctl32: header: Make the column resizing smooth in full drag mode.
Jonathan Ernst <>
- Update the address of the Free Software Foundation.
- Uniformization of French main menu accelerators.

Sync to Wine-0_9_13:
Mikoaj Zalewski <>
- comctl32: Add Str_SetPtrWtoA analogue to Str_SetPtrAtoW.
qingdoa daoo <>
- comctl32: Change return code comparison in AVI control.
- comctl32: Fix an unsigned comparison to zero.
- comctl32: Update first visible when appropiate in the TVI_SORT case.
Saulius Krasuckas <>
- comctl32: Increase FILEVERSION up to 5.81.4704.1100.

Sync to Wine-0_9_12:
Mike Hearn <>
- comctl32: Add OOM codepath in imagelist control.
Antonio Codazzi <>
- comctl32: Italian language updates.
- comctl32: Esperanto language support.

Sync to Wine-0_9_11:
Rein Klazes <>
- comctl32: Do not free LPSTR_TEXTCALLBACK tooltip texts.
James Hawkins <>
- comctl32: A couple fixes for tab icon offsets.
Thomas Weidenmueller <>
- comctl32: Rebar size fix.
Mike McCormack <>
- comctl32: Having an MRU list without a compare function works in Windows.

Sync to Wine-0_9_10:
Andrñs Kovñcs <>
- comctl32: Added Hungarian translation.
Mike McCormack <>
- comctl32: Fix some gcc 4.1 warnings caused by windowsx.h macros.

Sync to Wine-0_9_9:
Vitaliy Margolen <>
- comctl32: Remove/swap limits if min > max in MCM_SETRANGE.
  We should swap min & max only when both limits are being
  set. Otherwise limit that being set should invalidate other limit
  (remove it).
- comctl32: Don't change month range in MCM_SETRANGE. Add tests for this.

Sync to Wine-0_9_8:
Vitaliy Margolen <>
- comctl32: Fix invalid date/time check in MCM_SETRANGE: ignore time and fail on bad date.
Francois Gouget <>
- Assorted spelling fixes.
Petr Tesarik <>
- comctl32: Czech language resources encoding fix.
Fatih Ac <>
- comctl32: Turkish translation.

Sync to Wine-0_9_7:
Alexandre Julliard <>
- Fixed creation of PS_ALTERNATE pens.

Sync to Wine-0_9_6:
Phil Krylov <>
- comctl32: Call UpdateWindow() after changing statusbar text.
Thomas Weidenmueller <>
- comctl32: Reduce memory usage of the syslink control.
- comctl32: Some painting fixes for the syslink control.
Mike McCormack <>
- comctl32: Invalidate the entire progress bar any time it changes.

svn path=/trunk/; revision=22329

14 years agoenable all tests
Ged Murphy [Mon, 12 Jun 2006 20:26:30 +0000 (20:26 +0000)]
enable all tests

svn path=/trunk/; revision=22328

14 years agofix build prob #take one
Johannes Anderwald [Mon, 12 Jun 2006 18:09:47 +0000 (18:09 +0000)]
fix build prob #take one

svn path=/trunk/; revision=22327

14 years agofix build
Ged Murphy [Mon, 12 Jun 2006 17:58:59 +0000 (17:58 +0000)]
fix build

svn path=/trunk/; revision=22326

14 years agofix typo in solitaire.cpp
Johannes Anderwald [Mon, 12 Jun 2006 17:51:03 +0000 (17:51 +0000)]
fix typo in solitaire.cpp
patch by Wildcat (bug 1555)

svn path=/trunk/; revision=22325

14 years agoset focus back after messagebox
Johannes Anderwald [Mon, 12 Jun 2006 17:44:57 +0000 (17:44 +0000)]
set focus back after messagebox
fix formating of previous commit

svn path=/trunk/; revision=22324

14 years agoset focus back to computer name when invalid name was entered
Johannes Anderwald [Mon, 12 Jun 2006 17:40:35 +0000 (17:40 +0000)]
set focus back to computer name when invalid name was entered
bug report by keytotime (bug 1569)

svn path=/trunk/; revision=22323

14 years agoadd freeldr_fdebug rbuild
Johannes Anderwald [Mon, 12 Jun 2006 17:30:21 +0000 (17:30 +0000)]
add freeldr_fdebug rbuild

svn path=/trunk/; revision=22322

14 years agoadd norwegian translation
Johannes Anderwald [Mon, 12 Jun 2006 17:28:08 +0000 (17:28 +0000)]
add norwegian translation
patch by LMH1 (bug 1575)

svn path=/trunk/; revision=22321

14 years agoadd rbuild file
Johannes Anderwald [Mon, 12 Jun 2006 17:26:41 +0000 (17:26 +0000)]
add rbuild file

svn path=/trunk/; revision=22320

14 years ago- Pretty much the last Ob implementation/optimization patch (Except for a minor fix...
Alex Ionescu [Mon, 12 Jun 2006 05:58:08 +0000 (05:58 +0000)]
- Pretty much the last Ob implementation/optimization patch (Except for a minor fix by Thomas to fix handle sweeping), re-implemented the ObFindObject routine by using some code that I had written almost 2 years ago with help from Thomas and Filip, plus some fixes discovered today while testing.
- Fixed symbolic link and desktop/winsta parse procedures to become NT-compatible now that ObFindObject is as well. Also fixed file/device parse routine for these changes.
- ObFindObject now supports STATUS_REPARSE_OBJECT, and has an optimized path for parsing when a root directory is given, as well as is entirely unicode_string-based.
- Cleaned up ob.h and added ob_x.h for the inlined functions.
- Implemented new Ob tracing system.

svn path=/trunk/; revision=22319

14 years ago- Fix a typo that had broken the build -- sorry.
Alex Ionescu [Sun, 11 Jun 2006 22:32:12 +0000 (22:32 +0000)]
- Fix a typo that had broken the build -- sorry.

svn path=/trunk/; revision=22318

14 years ago- Bring out the champagne... one of my first-ever and most ancient ReactOS TODOs...
Alex Ionescu [Sun, 11 Jun 2006 22:26:54 +0000 (22:26 +0000)]
- Bring out the champagne... one of my first-ever and most ancient ReactOS TODOs: the IopCreateFile hack has been totally removed and we now have a file/device parse routine. It's still nothing like NT's but it's not a hack anymore, and actually works like it should.

svn path=/trunk/; revision=22317

14 years agoImplement CM_Delete_DevNode_Key and add CM_Delete_DevNode_Key_Ex stub.
Eric Kohl [Sun, 11 Jun 2006 21:56:08 +0000 (21:56 +0000)]
Implement CM_Delete_DevNode_Key and add CM_Delete_DevNode_Key_Ex stub.

svn path=/trunk/; revision=22316

14 years agoSlightly update the doc to make it correspond to nowadays reality
Aleksey Bragin [Sun, 11 Jun 2006 21:05:25 +0000 (21:05 +0000)]
Slightly update the doc to make it correspond to nowadays reality

svn path=/trunk/; revision=22315

14 years agoupdate the comctl32 wine tests
Ged Murphy [Sun, 11 Jun 2006 15:51:13 +0000 (15:51 +0000)]
update the comctl32 wine tests

svn path=/trunk/; revision=22314

14 years agoFix size of the startmenu (e.g. Start->Programs) when there are very much entries...
Maarten Bosma [Sun, 11 Jun 2006 15:16:48 +0000 (15:16 +0000)]
Fix size of the startmenu (e.g. Start->Programs) when there are very much entries. Tested under Windows. Fix by slawek from the German forum.

svn path=/trunk/; revision=22313

14 years agoImplement PNP_AddID.
Eric Kohl [Sun, 11 Jun 2006 13:20:46 +0000 (13:20 +0000)]
Implement PNP_AddID.

svn path=/trunk/; revision=22310

14 years agoFix non-optimized versions of InterlockedIncrement/InterlockedDecrement.
Hervé Poussineau [Sun, 11 Jun 2006 13:00:47 +0000 (13:00 +0000)]
Fix non-optimized versions of InterlockedIncrement/InterlockedDecrement.
Fixes bug 916

svn path=/trunk/; revision=22309

14 years agoMove Interlocked* functions to architecture-relative directories. This prevents use...
Hervé Poussineau [Sun, 11 Jun 2006 12:27:27 +0000 (12:27 +0000)]
Move Interlocked* functions to architecture-relative directories. This prevents use of inlined assembler.

svn path=/trunk/; revision=22308

14 years ago[AUDIT]
Hervé Poussineau [Sun, 11 Jun 2006 12:15:43 +0000 (12:15 +0000)]
According to Fireball, this file is clean because it contains only well-known interlocked operations taking up a few asm instructions

svn path=/trunk/; revision=22307

14 years agoAdd some tests for interlocked functions
Hervé Poussineau [Sun, 11 Jun 2006 12:02:04 +0000 (12:02 +0000)]
Add some tests for interlocked functions

svn path=/trunk/; revision=22306

14 years ago* Significant improve boot speed and debug log neatness:
Alex Ionescu [Sun, 11 Jun 2006 08:25:10 +0000 (08:25 +0000)]
* Significant improve boot speed and debug log neatness:
- Get rid of a dozen of debug prints that have been straying along for a long time (some for years), most of which I must shamefully admit I am responsible for.
- Fix a critical bug subsystem bug in smss and don't hang the system 15 seconds on boot-up.
- Rebase some problematic modules (and fix wshtcpip's rbuild file) to avoid relocations on bootup and some process startup.
- Enable lsass startup in winlogon and the registry.
- Only show debug log header when actually debugging to a file.

svn path=/trunk/; revision=22305

14 years ago- Support more than one child
Hervé Poussineau [Sun, 11 Jun 2006 07:57:37 +0000 (07:57 +0000)]
- Support more than one child
- vbemp shouldn't parse the EDID, so return it to videoprt

svn path=/trunk/; revision=22304

14 years ago- Fix definitions of OB_QUERYNAME_METHOD and OB_OKAYTOCLOSE_METHOD. Add fixme for...
Alex Ionescu [Sun, 11 Jun 2006 06:52:56 +0000 (06:52 +0000)]
- Fix definitions of OB_QUERYNAME_METHOD and OB_OKAYTOCLOSE_METHOD. Add fixme for OB_SECURITY_METHOD, will change it later.
- Simplified NtDuplicateObject to a simple stub around ObDuplicateObject, there is no need to have lengthy hacks for NtCurrentProcess/NtCurrentThread().
- Cleanup ObDuplicateObject to use normal Ob routines instead of grovelling through handle table structures and manually touching the handle count: It now calls ObpIncrementHandleCount and all the underlying operations are done on the duplicated handle. Also access state creation is done if the duplicated handle has different desired access.

svn path=/trunk/; revision=22303

14 years ago- Further improvements to Ob tests (fixing obvious mistakes/etc), however reference...
Aleksey Bragin [Sat, 10 Jun 2006 22:39:14 +0000 (22:39 +0000)]
- Further improvements to Ob tests (fixing obvious mistakes/etc), however reference tests still cause bugcheck, so they are disabled
- Clean-up is enabled now, so basically it's possible to run the test a number of times in win2k3, and every time it will go from scratch by creating everything. But I have a feeling that deleting object-types causes some type of corruption. To be investigated later.

svn path=/trunk/; revision=22302

14 years agoAlex finally paid attention to my code, so I'm fixing a few things...
Aleksey Bragin [Sat, 10 Jun 2006 21:17:43 +0000 (21:17 +0000)]
Alex finally paid attention to my code, so I'm fixing a few things...

svn path=/trunk/; revision=22301

14 years agoAfter some tests, change SetupDiClassNameFromGuidExW and SetupDiGetClassDescriptionEx...
Hervé Poussineau [Sat, 10 Jun 2006 20:51:18 +0000 (20:51 +0000)]
After some tests, change SetupDiClassNameFromGuidExW and SetupDiGetClassDescriptionExW to match Windows XP behavior

svn path=/trunk/; revision=22300

14 years agoCleanup:
Hervé Poussineau [Sat, 10 Jun 2006 20:48:17 +0000 (20:48 +0000)]
- Check that mandatory arguments are provided
- Better tracing system
- Prepend private function names with SETUP_
- Use MultiByteToUnicode instead of MultiByteToUnicode + HeapAlloc
- ...

svn path=/trunk/; revision=22299

14 years ago[FORMATTING]
Aleksey Bragin [Sat, 10 Jun 2006 20:41:54 +0000 (20:41 +0000)]
Very small cleanup, formatting and typecasting change

svn path=/trunk/; revision=22298

14 years agoRevert accidental change of ntfs.sys driver's Start value made in last commit
Aleksey Bragin [Sat, 10 Jun 2006 20:32:25 +0000 (20:32 +0000)]
Revert accidental change of ntfs.sys driver's Start value made in last commit

svn path=/trunk/; revision=22297

14 years agoAdd loading of kernel-mode regression testing driver into hivesys.inf (it's commented...
Aleksey Bragin [Sat, 10 Jun 2006 18:05:44 +0000 (18:05 +0000)]
Add loading of kernel-mode regression testing driver into hivesys.inf (it's commented out of course by default).
To run km regression tests under windows, one should use kmtloader.exe app
To run them on reactos, one should copy kmtest.sys to reactos\system32\drivers, and uncomment entries in hivesys.inf

svn path=/trunk/; revision=22296

14 years ago- Add create/insert object tests
Aleksey Bragin [Sat, 10 Jun 2006 16:37:34 +0000 (16:37 +0000)]
- Add create/insert object tests
- Add simple referencing tests (now disabled)
- All tests pass currently on Windows 2003

svn path=/trunk/; revision=22295

14 years ago- Update sweep callback to send the handle number. Patch by Thomas Weidenmueller...
Alex Ionescu [Sat, 10 Jun 2006 00:41:16 +0000 (00:41 +0000)]
- Update sweep callback to send the handle number. Patch by Thomas Weidenmueller (
- Export ObCloseHandle since it's implemented now
- Implement ObpCreateUnnamedHandle and ObpIncrementUnnamedHandleCount as optimizations for ObInsertObject with unnamed objects.

svn path=/trunk/; revision=22294

14 years agoeol-style:native and some TCHAR fixes
Brandon Turner [Fri, 9 Jun 2006 15:59:56 +0000 (15:59 +0000)]
eol-style:native and some TCHAR fixes

svn path=/trunk/; revision=22293

14 years agoAdd documentation to SetupDiBuildClassInfoList/SetupDiBuildClassInfoListExA/W
Hervé Poussineau [Fri, 9 Jun 2006 14:16:39 +0000 (14:16 +0000)]
Add documentation to SetupDiBuildClassInfoList/SetupDiBuildClassInfoListExA/W
Patch by Christian Gmeiner on wine-patches ML

svn path=/trunk/; revision=22292

14 years ago- Fix the CmpObjectDelete bugcheck by hacking away some code reponsible for it. The...
Alex Ionescu [Fri, 9 Jun 2006 08:49:03 +0000 (08:49 +0000)]
- Fix the CmpObjectDelete bugcheck by hacking away some code reponsible for it. The bugcheck is probably the result of the current ref-count bug.
- Remove some more code in IoCreateFile/IopCreateFile to help with deprecating it later.

svn path=/trunk/; revision=22291

14 years ago- Add the OPEN_PACKET structure to internal headers. Used for the I/O Parse Routine.
Alex Ionescu [Fri, 9 Jun 2006 07:28:26 +0000 (07:28 +0000)]
- Add the OPEN_PACKET structure to internal headers. Used for the I/O Parse Routine.
- Gut down IopCreateFile to the strict minimum so that only the critical parts remain.
- NT Compatiblity fix in ObFindObject: stop parsing if remaining path is null, this means that the parse routine is done parsing and that -this- is the final object.

svn path=/trunk/; revision=22290

14 years ago- Added DPRINT logic in all files (to be used as "TRACE" to aid in debugging of tests)
Aleksey Bragin [Thu, 8 Jun 2006 21:39:51 +0000 (21:39 +0000)]
- Added DPRINT logic in all files (to be used as "TRACE" to aid in debugging of tests)
- Added initial part of Ob tests which uses ObCreateObjectType, NtCreateDirectoryObject, ObCreateObject exported APIs.

svn path=/trunk/; revision=22289

14 years ago- Remove the heart (but not the brain) of the IopCreateFile hack. A much 'nicer'...
Alex Ionescu [Thu, 8 Jun 2006 21:36:44 +0000 (21:36 +0000)]
- Remove the heart (but not the brain) of the IopCreateFile hack. A much 'nicer' hack now detects if a filename can't be found, and instead of inserting it into the object directory (wrong!), calling IopCreateFile (wrong!), then having it fail, only to then remove the newly inserted object entry (wrong wrong wrong!), IopCreateFile is now *only* called for real files, otherwise Ob detects the invalid name and fails nicely and quickly.

svn path=/trunk/; revision=22288

14 years ago- Add Object Header Quota structure/define
Alex Ionescu [Thu, 8 Jun 2006 20:58:21 +0000 (20:58 +0000)]
- Add Object Header Quota structure/define
- Give Files/Devices a parse routine and currently stubplement it for debugging purposes and trying to figure out a way to kill the IopCreateFile hack.
- Implement ObpChargeQuotaForObject. Using a memory breakpoint in WinDBG I've finally found where the OB_FLAG_CREATE_INFO flag gets masked out. Also attempted a very naive quota charging implementation, but it's a guess and probably wrong (but at least it does...something.)

svn path=/trunk/; revision=22287

14 years ago- Kill a bunch of deprecated hacks, because removing hacks is always cool!
Alex Ionescu [Thu, 8 Jun 2006 19:00:22 +0000 (19:00 +0000)]
- Kill a bunch of deprecated hacks, because removing hacks is always cool!

svn path=/trunk/; revision=22286

14 years ago- [FORMATTING]:
Alex Ionescu [Thu, 8 Jun 2006 18:24:37 +0000 (18:24 +0000)]
  - Get rid of ObpGetHandleCountByHandleTable and ObpGetNextHandleByProcessCount.
  - Add some function comment headers.
  - Move ObMakeTemporaryObject, NtMakeTemporaryObject, NtMakePermanentObject to oblife.c
  - Move ObpDeleteNameCheck to obname.c

svn path=/trunk/; revision=22285

14 years ago- Rename ObpDeleteHandle to ObpCloseHandleTableEntry and change semantics so that...
Alex Ionescu [Thu, 8 Jun 2006 18:09:01 +0000 (18:09 +0000)]
- Rename ObpDeleteHandle to ObpCloseHandleTableEntry and change semantics so that it deals directly with the entry and table. This re-factoring optimizes the case where we already have the entry and don't want to use the handle to get the kernel table and then attach/detach/enter/exit critcal regions (such as when sweeping).
- Implement ObCloseHandle, a new XP Export
- Take old NtClose code and write it in ObpCloseHandle, which is the master function that Ntclose/ObCloseHandle share.
- Complete patch requires ExSweepHandleTable to be modified to return the Handle instead of the entry, so that sweeping can be fixed to properly destroy handles and call their OkayToClose, instead of just decrementing a count.

svn path=/trunk/; revision=22284

14 years agoIf treat a backspace more like a normal char.
Brandon Turner [Thu, 8 Jun 2006 13:07:05 +0000 (13:07 +0000)]
If treat a backspace more like a normal char.

svn path=/trunk/; revision=22283

14 years agoReadConsole test to show how backspaces should be handled.
Brandon Turner [Thu, 8 Jun 2006 12:59:32 +0000 (12:59 +0000)]
ReadConsole test to show how backspaces should be handled.

svn path=/trunk/; revision=22282

14 years ago- [FORMATTING] Add function comment headers.
Alex Ionescu [Thu, 8 Jun 2006 06:31:16 +0000 (06:31 +0000)]
- [FORMATTING] Add function comment headers.

svn path=/trunk/; revision=22281

14 years ago- ObFindObject should return the actual object being inserted, in the insert case...
Alex Ionescu [Thu, 8 Jun 2006 06:17:46 +0000 (06:17 +0000)]
- ObFindObject should return the actual object being inserted, in the insert case (otherwise it always returns the root-directory instead...)
- Add check for optimized case for objects with no name and no security, but not implemented (ObpIncrementUnnamedHandleCount in Gl00my docs), since I need a better translation then babelfish's.
- Fix ObInsertObject to save the Security Descriptor in the Access State structure. Gl00my mentions this isn't absorbed by SeCreateAccessCheck and I just noticed that too.
- We only need to perform security checks for a new object, in ObInsertObject, not if the object already existed.
- Added proper backout+failure code in ObInsertObject if lookup failed, and also look out for mismatch/exists/collision cases (implemented using simple logic).

svn path=/trunk/; revision=22280

14 years ago- Fix ObGetObjectSecurity to use the object type's pool type instead of assuming...
Alex Ionescu [Thu, 8 Jun 2006 05:41:39 +0000 (05:41 +0000)]
- Fix ObGetObjectSecurity to use the object type's pool type instead of assuming PagedPool.
- Re-wrote the way ObInsertObject handles security as described in Chapters 6 and 9 of Gl00my (ie: made it use ObGetObjectSecurity and ObAssignObjectSecurity; ironically, these functions already existed/are exported and could've been used since the start instead of duplicating code).
- Fix ObpReferenceCachedSecurityDescriptor only to touch the cached entry if it actually gets a non-NULL descriptor. Also improved it to return the referenced SD, instead of requiring the caller to do it manually.

svn path=/trunk/; revision=22279

14 years ago- I just noticed that ObInsertObject never got updated to deal with the improvements...
Alex Ionescu [Thu, 8 Jun 2006 02:56:59 +0000 (02:56 +0000)]
- I just noticed that ObInsertObject never got updated to deal with the improvements in ObFindObject and ACCESS_STATE usage, so made the following fixes:
  * Create the ACCESS_STATE structure much earlier.
  * Actually send the access state and parse context to ObFindObject, when called from ObInsertObject (this should fix some hidden regressions, since they finally get an access state with access masks now).
  * Remove some deprecated hacks.
  * If inserting the handle failed, cleanup the name and remove it from the directory entry.
  * Fix a memory leak because we weren't deleting the access state.

svn path=/trunk/; revision=22278

14 years ago- Fixup some comments and add Eric Kohl's name to this file, since he had worked...
Alex Ionescu [Thu, 8 Jun 2006 02:36:12 +0000 (02:36 +0000)]
- Fixup some comments and add Eric Kohl's name to this file, since he had worked on some of the original calls.
- Minor/trivial fixes to some Object Security APIs that were left in the dark:
  * Use PagedPool instead of NonPagedPool memory, and also tag the allocation for debugging.
  * Send needed data to the security procedure instead of NULL/0, including the Generic Mapping, and the actual Security Decriptor.
  * Only un-assign the descriptor in case of failure, not all the time (the whole point of the API is to assign it!)
  * Tell the caller that memory was NOT allocated if we failed to get the security descriptor.

svn path=/trunk/; revision=22277

14 years ago- Split ObpCreateHandle into two distinct operations: Incrementing and Creating ...
Alex Ionescu [Wed, 7 Jun 2006 23:59:15 +0000 (23:59 +0000)]
- Split ObpCreateHandle into two distinct operations: Incrementing and Creating (like we have Delete/Decrement). No code additions, just splitting.
- Because of the split, we can now directly only do an Increment when duplicating the handle, since we don't need to create a brand new one. Also, when inheriting, we can now properly do an increment as well, instead of simply manually increasing the handle count (because for each inherited handle, access checks and openprocedure should've still been called).

svn path=/trunk/; revision=22276

14 years agoSome 64 fixes
Hervé Poussineau [Wed, 7 Jun 2006 17:33:57 +0000 (17:33 +0000)]
Some 64 fixes

svn path=/trunk/; revision=22275

14 years agoReplace STDCALL by NTAPI
Hervé Poussineau [Wed, 7 Jun 2006 17:31:43 +0000 (17:31 +0000)]
Some 64 bits fixes

svn path=/trunk/; revision=22274

14 years agoAllocate buffer for system directory on heap instead of stack
Hervé Poussineau [Wed, 7 Jun 2006 17:30:06 +0000 (17:30 +0000)]
Allocate buffer for system directory on heap instead of stack

svn path=/trunk/; revision=22273

14 years ago- Implement DecryptFileA
Hervé Poussineau [Wed, 7 Jun 2006 17:26:25 +0000 (17:26 +0000)]
- Implement DecryptFileA
- Fix some stubs
- Remove dead code

svn path=/trunk/; revision=22272

14 years ago- Implement FileEncryptionStatusA
Hervé Poussineau [Wed, 7 Jun 2006 17:24:49 +0000 (17:24 +0000)]
- Implement FileEncryptionStatusA
- Fix FileEncryptionStatusW prototype
- Fix EncryptionDisable stub

svn path=/trunk/; revision=22271

14 years agoAdd missing debug.h/NDEBUG construction, fixes compiling without CU
Aleksey Bragin [Wed, 7 Jun 2006 13:08:28 +0000 (13:08 +0000)]
Add missing debug.h/NDEBUG construction, fixes compiling without CU

svn path=/trunk/; revision=22270

14 years ago[AUDIT]
Aleksey Bragin [Wed, 7 Jun 2006 13:06:40 +0000 (13:06 +0000)]

- Unlock simple and trivial functions
- Unlock unimplemented funcs and non-code things

svn path=/trunk/; revision=22269

14 years agoFix a typo in Internet Time tab. Spotted by Fixes bug 1562
Aleksey Bragin [Wed, 7 Jun 2006 10:57:40 +0000 (10:57 +0000)]
Fix a typo in Internet Time tab. Spotted by Fixes bug 1562

svn path=/trunk/; revision=22268

14 years ago- Final fixes to ObpCreateHandle that I can think of before splitting Create/Incremen...
Alex Ionescu [Wed, 7 Jun 2006 06:15:59 +0000 (06:15 +0000)]
- Final fixes to ObpCreateHandle that I can think of before splitting Create/Increment (might be lacking some security checks or trace/database functionality, but I haven't found any info on the latter, while the former I will stub, but I don't have the skills to imlement (ObAssignObjectSecurity)):
  * Honour ObjectType passed to the function and fail if it doesn't match.
  * Use table-based logic instead of process-based logic for Kernel vs User-mode handles (same change that's been done all over the place, since it requires only one dereference of the process object).
  * Do the GENERIC/MAXIMUM_ALLOWED logic directly inside the ACCESS_STATE structure.
  * This is where we should call the OpenProcedure (acc. to Gl00my), but this kills win32k -- investigate, #ifed out for now.
  * Increase the object type's number of handles as well.
  * Set the handle table entry's ObAttributes correctly; the old code seems to have been messing that up.
  * Honour the AdditionalReferences parameter and do referencing bias if requested.
  * Honour the ReturnedObject parameter to return the object pointer back to the caller.
  * Add OBTRACEing to the function.
  * If we failed because a handle couldn't be allocated, use the distinguied STATUS_INSUFFICIENT_RESOURCES error code instead of the generic STATUS_UNSCUCESFFUL, and backout all the changes we made by calling ObpDecrementHandleCount.

svn path=/trunk/; revision=22267

14 years ago- Change ObpCreateHandle to the one documented and explained in the Gl00my documentat...
Alex Ionescu [Wed, 7 Jun 2006 05:37:04 +0000 (05:37 +0000)]
- Change ObpCreateHandle to the one documented and explained in the Gl00my documentation. It also fits the re-factored split create/increment model better, supports open reasons, and allows to do type-checking and extra object referencing from within one routine.
- Add code to ObOpenObjectByName to detect the OpenReason. Experimental, since I'm not sure when to clear the flag.

svn path=/trunk/; revision=22266

14 years ago- Add some trace macros to monitor handle/pointer counts for fixing regressions/bugs...
Alex Ionescu [Wed, 7 Jun 2006 05:04:43 +0000 (05:04 +0000)]
- Add some trace macros to monitor handle/pointer counts for fixing regressions/bugs later.
- Change ObpCreateHandle to use an ACCESS_STATE structure instead of DesiredAccess. This is to help moving to an updated model where creating and incrementing a handle are 2 operations, so that code can be refactored (similarly to how we now have Delete/Decrement as 2 operations).
- Fix functions that were not creating an ACCESS_STATE Structure to create one locally now, or use the one passed as a parameter, if available.

svn path=/trunk/; revision=22265

14 years ago- Clone ObpCreateHandle to CmpCreateHandle. I am about to fix its implementation...
Alex Ionescu [Wed, 7 Jun 2006 01:47:33 +0000 (01:47 +0000)]
- Clone ObpCreateHandle to CmpCreateHandle. I am about to fix its implementation and since Cm* currently abuses Ob I feel it safer to give its own internal function.
- Make ObpCreateHandle internal to Ob as it should be. Change NtCreateProcessTokenEx to use ObOpenObjectByPointer, it has no business manually trying to create a handle. Same goes for ExpLoadInitialProcess.

svn path=/trunk/; revision=22264

14 years agoQuick patch.
James Tabor [Wed, 7 Jun 2006 01:45:18 +0000 (01:45 +0000)]
Quick patch.

svn path=/trunk/; revision=22263

14 years agoCleanup coding of IntGdiPolyPolygon and IntGdiPolygon.
James Tabor [Wed, 7 Jun 2006 01:28:44 +0000 (01:28 +0000)]
Cleanup coding of  IntGdiPolyPolygon and IntGdiPolygon.

svn path=/trunk/; revision=22262

14 years agoImplement Get & SetTextCharacterExtra. Does nothing ATM.
James Tabor [Wed, 7 Jun 2006 01:22:47 +0000 (01:22 +0000)]
Implement Get & SetTextCharacterExtra. Does nothing ATM.

svn path=/trunk/; revision=22261

14 years agoImplement %Fp now we have 25 fails with wine test for string version of *printf api
Magnus Olsen [Wed, 7 Jun 2006 00:04:51 +0000 (00:04 +0000)]
Implement %Fp now we have 25 fails with wine test for string version of *printf api

svn path=/trunk/; revision=22260

14 years agousing uppercaps for %p instead lowercaps when it format the string, that make passing...
Magnus Olsen [Tue, 6 Jun 2006 23:22:11 +0000 (23:22 +0000)]
using uppercaps for %p instead lowercaps when it format the string, that make passing one more of wine test
27 fails now

svn path=/trunk/; revision=22259

14 years agoadd Wine's powrprof to build
Johannes Anderwald [Tue, 6 Jun 2006 23:14:09 +0000 (23:14 +0000)]
add Wine's powrprof to build

svn path=/trunk/; revision=22258

14 years agofixing some bugs for %c in the string version of printf
Magnus Olsen [Tue, 6 Jun 2006 23:01:44 +0000 (23:01 +0000)]
fixing some bugs for %c in the string version of printf

svn path=/trunk/; revision=22257

14 years agosmall compilation fix
Johannes Anderwald [Tue, 6 Jun 2006 22:54:18 +0000 (22:54 +0000)]
small compilation fix

svn path=/trunk/; revision=22256

14 years agofixing two more bugs in *printf strings version.
Magnus Olsen [Tue, 6 Jun 2006 22:43:41 +0000 (22:43 +0000)]
fixing two more bugs in *printf strings version.
this make we pass one more of wine test

svn path=/trunk/; revision=22255

14 years agoimport Wine 0.9.14 powrprof
Johannes Anderwald [Tue, 6 Jun 2006 21:54:39 +0000 (21:54 +0000)]
import Wine 0.9.14 powrprof

svn path=/trunk/; revision=22254

14 years agoprepare wine 0.9.14. powrprof import
Johannes Anderwald [Tue, 6 Jun 2006 21:51:40 +0000 (21:51 +0000)]
prepare wine 0.9.14. powrprof import

svn path=/trunk/; revision=22253

14 years agoimplement datatype I32 for *printf string version we have a *printf for files as...
Magnus Olsen [Tue, 6 Jun 2006 21:42:42 +0000 (21:42 +0000)]
implement datatype I32 for *printf string version we have a *printf for files as well
now 29 fails in wine test msvcrt printf

svn path=/trunk/; revision=22252

14 years ago- Formatting/name/comment/declaration/calling convention changes.
Alex Ionescu [Tue, 6 Jun 2006 21:02:55 +0000 (21:02 +0000)]
- Formatting/name/comment/declaration/calling convention changes.
- Make ObpCreateHandleTable return NTSTATUS instead of VOID, so that it can return STATUS_INSUFFIENT_RESOURCES if the handle table couldn't be allocated.

svn path=/trunk/; revision=22249

14 years agoadd missing NtPowerInformation to def
Johannes Anderwald [Tue, 6 Jun 2006 21:02:30 +0000 (21:02 +0000)]
add missing NtPowerInformation to def

svn path=/trunk/; revision=22248

14 years agofixing 2 more fualt in msvcrt *printf api
Magnus Olsen [Tue, 6 Jun 2006 12:45:05 +0000 (12:45 +0000)]
fixing 2 more fualt in msvcrt *printf api

svn path=/trunk/; revision=22247

14 years ago- Add function documentation header to ObpDeleteHandle, comment and re-format the...
Alex Ionescu [Tue, 6 Jun 2006 06:12:09 +0000 (06:12 +0000)]
- Add function documentation header to ObpDeleteHandle, comment and re-format the function, and simplify the code to reduce some code duplication.
- Call the OkayToClose Procedure, if one is present, to allow the object owner a chance to disallow closing this handle. I believe this is required for properly protecting Winsta/Desktop handles (instead of using the regular protection mode, since that one can be bypassed). Thomas, get to work!

svn path=/trunk/; revision=22246

14 years ago- Documented ObpDeleteNameCheck and ObpSetPermanentObject
Alex Ionescu [Tue, 6 Jun 2006 05:49:28 +0000 (05:49 +0000)]
- Documented ObpDeleteNameCheck and ObpSetPermanentObject
- Added function documentation header for ObpDecrementHandleCount and ObpSetHandleAttributes
- Modified ObpDecrementHandleCount to accept Process and GrantedAccess paraemters since the definition for the Close Procedure Callback requires them (and we were currently sending NULL). Also send 0 for process handle count, since we don't yet parse/support per-process handle databases.
- Minor optimization: All objects have an object type, don't actually check if the object has one when decrementing a handle.
- Minor accounting fix: Decrement the total number of handles for the object type whose handle count is being decreased.

svn path=/trunk/; revision=22245

14 years ago- Make sure callers of NtMakeTemporaryObject have DELETE privileges, otherwise they...
Alex Ionescu [Tue, 6 Jun 2006 04:52:08 +0000 (04:52 +0000)]
- Make sure callers of NtMakeTemporaryObject have DELETE privileges, otherwise they could end up illegaly killing objects (in certain situations)
- Make sure callers of NtMakePermanentObject have SeCreatePermanentPrivilege.
- Implement ObpDeleteNameCheck as described in Gl00my's Ob Documentation (using such documentation falls under US Reverse Engineering Law - Clean rooming).
- Remove duplicated code in ObpDecrementHandleCount and ObpSetPermanentObject and have them use ObpDeleteNameCheck instead.
- Fixes thanks to using this routine:
  * Name-check is now properly done.
  * The keep-alive reference is now deleted when going from permanent->temporary object.
  * The parent directory is now dereferenced and cleared when deleting the object.
  * The security procedure is now called to delete the SD, and the name buffer is freed.
- Remove ObGetObjectHandleCount, it's not a public function.

svn path=/trunk/; revision=22244

14 years ago- Fix bug in IoCreateFile which my (correct) ObReferenceObjectByHandle bugfix patch...
Alex Ionescu [Tue, 6 Jun 2006 02:07:55 +0000 (02:07 +0000)]
- Fix bug in IoCreateFile which my (correct) ObReferenceObjectByHandle bugfix patch uncovered. Bootcd/installation works again.

svn path=/trunk/; revision=22243

14 years agoSet libraries as project dependencies
Hervé Poussineau [Mon, 5 Jun 2006 21:46:14 +0000 (21:46 +0000)]
Set libraries as project dependencies

svn path=/trunk/; revision=22242

14 years agosilence some rather annoying alignment errors when building with msvc
Ged Murphy [Mon, 5 Jun 2006 19:00:52 +0000 (19:00 +0000)]
silence some rather annoying alignment errors when building with msvc

svn path=/trunk/; revision=22240

14 years agoChange some DPRINT1 to DPRINT, as they were prior revision 21880.
Hervé Poussineau [Mon, 5 Jun 2006 16:41:03 +0000 (16:41 +0000)]
Change some DPRINT1 to DPRINT, as they were prior revision 21880.

svn path=/trunk/; revision=22239

14 years ago- implement menu hints
Ged Murphy [Mon, 5 Jun 2006 16:34:38 +0000 (16:34 +0000)]
- implement menu hints
- load separate 24bit bitmaps for the icons
- fix image list loading
- lots of other little tweaks and changes

svn path=/trunk/; revision=22238