13 years ago- Simplify KiSelectReadyThread.
Alex Ionescu [Wed, 17 Jan 2007 01:56:15 +0000 (01:56 +0000)]
- Simplify KiSelectReadyThread.
- Disable KiSetAffinityThread to do nothing else but change affinity instead of doing re-scheduling (temporary change).
- Cleanup KiQuantumEnd to prepare for new scheduler.
- Fix up a large bug in KeInsertQueueDpc which was making every DPC become a Threaded DPC due to a bad assignment-instead-of-compare.
- Copy KiSelectNextThread for new scheduler branch, without SMT support.
- Fix a bug in KiAdjustQuantumThread under new scheduler.
- Re-implement KiSetPriorityThread under new scheduler, leave hacks for current scheduler support.
- Remove old testing assert from KiExitDispatcher.

svn path=/trunk/; revision=25491

13 years ago[22 bug fixes]:
Alex Ionescu [Tue, 16 Jan 2007 20:49:40 +0000 (20:49 +0000)]
[22 bug fixes]:
- Make KiComputeNewPriority accept various priority adjuments instead of always assuming an increase of 1 priority level.
- Fix ASSERT in KeSetEventBoostPriority: API is valid *only* for Synchronization events, not notification ones.
- Use proper KiComputeNewPriority call in KeSetEventBoostPriority, since we're not adjusting by 1.
- Make sure the FreezeCount is also 0 in KeAlertResumeThread, before signalling the suspend semaphore.
- Simply alert-mode check in KeAlertThread.
- Don't exit the critical region in KeFreezeAllThreads, it needs to be held.
- Don't enter a critical region in KeThawAllThreads, it should already have been entered; release it after thawing is complete.
- Also change the list loop in these functions to always start with the first thread.
- Copy over boost-disable flag in KeStartThread.
- Don't acquire the dispatcher lock in KeTestAlertThread.
- Set the KernelStackResident flag to TRUE in KeInitThread.
- Fix KeSetIdealProcessorThread to check the CPU is valid on the system, not valid across all valid CPU numbers. Also fix it to compare affinity, not processor.
- Fix KeSetBasePriorityThread to properly call KiComputeNewPriority with an adjustment of 0, and then properly manually adjust with the delta between the new base priority and the old base priority.
- Also normalize the new priority if it's too low.
- Always set the priority decrement back to 0 when KeSetPriorityThread is called.
- Normalize the priority in KeSetPriorityThread if it falls too low.
- Fix process stack count check in KeTerminateThread.
- Acquire thread and PRCB lock in KiAdjustQuantumThread.
- Use KiComputeNewPriority in KiAdjustQuantumThread.
- Dispatch a new thread in KiAdjustQuantumThread to take into account the new scheduler settings.
- Thread priorities should make more sense now...

svn path=/trunk/; revision=25490

13 years agoFix difference in signedness warnings
Thomas Bluemel [Tue, 16 Jan 2007 18:55:06 +0000 (18:55 +0000)]
Fix difference in signedness warnings

svn path=/trunk/; revision=25489

13 years agoimprove cursor loading code
Ged Murphy [Tue, 16 Jan 2007 18:30:54 +0000 (18:30 +0000)]
improve cursor loading code

svn path=/trunk/; revision=25488

13 years ago- Reimplement Process/Thread/Image notification callbacks by using the new executive...
Alex Ionescu [Tue, 16 Jan 2007 15:09:53 +0000 (15:09 +0000)]
- Reimplement Process/Thread/Image notification callbacks by using the new executive lightweight callback implementation.
- Remove corresponding entry from kernel fun.

svn path=/trunk/; revision=25486

13 years ago- Implement ExCompareExchangeCallBack. The CallBack implementation is now ready for...
Alex Ionescu [Tue, 16 Jan 2007 14:20:19 +0000 (14:20 +0000)]
- Implement ExCompareExchangeCallBack. The CallBack implementation is now ready for testing.

svn path=/trunk/; revision=25485

13 years ago- Implement ExReferenceCallBackBlock and ExDereferenceCallBackBlock.
Alex Ionescu [Tue, 16 Jan 2007 07:20:16 +0000 (07:20 +0000)]
- Implement ExReferenceCallBackBlock and ExDereferenceCallBackBlock.
- Code is very similar to Ob* Fast Referencing, and the use of macros to encapsulate generic referencing should be done later. Essentially, Ob sticks ObRefs around FastRefs, while ExCallbacks sticks ExRundown around FastRefs.

svn path=/trunk/; revision=25484

13 years ago- Start partial implementation of Executive Lightweight Callbacks: ExAllocateCallBack...
Alex Ionescu [Tue, 16 Jan 2007 05:31:05 +0000 (05:31 +0000)]
- Start partial implementation of Executive Lightweight Callbacks: ExAllocateCallBack, ExInitializeCallBack, ExFreeCallBack, ExWaitForCallBacks, ExGetCallBackBlockRoutine, ExGetcallBackBlockContext, ExDoCallBack.
- Stub ExReferenceCallBackBlock and ExDereferenceCallBackBlock until I get the locking right.
- These callbacks are used by Cm as well as Ps inside Windows NT and combine the power of PushLocks, Rundown Protection and Fast Referencing to ensure callbacks only get called once and thread safely. Not yet used in ROS.

svn path=/trunk/; revision=25483

13 years ago- Large cleanup of exported callback implementation. It was my first code to ReactOS...
Alex Ionescu [Tue, 16 Jan 2007 04:16:31 +0000 (04:16 +0000)]
- Large cleanup of exported callback implementation. It was my first code to ReactOS and quite messy.
- Make code use standard NT structures.
- Fix object type initialization.
- Fix calls to ExCreatecallback during system initalization which were randomly overwriting memory.
- Fix ExREgisterCallback which was allocating only a pointer inside of the entire structure, also over-writing system memory.

svn path=/trunk/; revision=25482

13 years ago- Fix major bugs in the definition of _KTHREAD inside the NDK. I made some stupid...
Alex Ionescu [Tue, 16 Jan 2007 02:40:41 +0000 (02:40 +0000)]
- Fix major bugs in the definition of _KTHREAD inside the NDK. I made some stupid assumptions when reading the .pdb dump data. _KTHREAD should now be the right size and structure as Win 2003. (the reason this bug wasn't more evident was because we were using 1-byte packing and a "padding" field. this has now been removed).

svn path=/trunk/; revision=25481

13 years ago- Simplify KiWaitTest.
Alex Ionescu [Tue, 16 Jan 2007 02:24:19 +0000 (02:24 +0000)]
- Simplify KiWaitTest.
- Reformat some ke_x.h wait macros to use simpler/shorter variable names.

svn path=/trunk/; revision=25480

13 years ago- Fix insertion of special APC into APC delivery list.
Alex Ionescu [Tue, 16 Jan 2007 01:27:36 +0000 (01:27 +0000)]
- Fix insertion of special APC into APC delivery list.
- Re-identize some APC code (just formatting change).
- Detect APC during GateWait. Previous check scanned for DeferredReady, which is incorrect.
- Simplfy KeremovequeueApc to take advantage of the fact RemoveEntryList now returns whether the list is empty or not.

svn path=/trunk/; revision=25479

13 years agodon't leak a bitmap object if we fail to allocate memory
Ged Murphy [Tue, 16 Jan 2007 00:08:41 +0000 (00:08 +0000)]
don't leak a bitmap object if we fail to allocate memory

svn path=/trunk/; revision=25478

13 years agouse IC instead of DC
Ged Murphy [Mon, 15 Jan 2007 23:37:44 +0000 (23:37 +0000)]
use IC instead of DC

svn path=/trunk/; revision=25477

13 years agorevert r25474
Ged Murphy [Mon, 15 Jan 2007 23:33:01 +0000 (23:33 +0000)]
revert r25474

svn path=/trunk/; revision=25476

13 years ago- implement correct alpha blending of icons
Ged Murphy [Mon, 15 Jan 2007 23:25:35 +0000 (23:25 +0000)]
- implement correct alpha blending of icons
- pixel bits must be pre-multiplied with the alpha channel
- along with the previous LookupIconIdFromDirectoryEx, basic alpha blending is working. some bugfixing is still required.

svn path=/trunk/; revision=25475

13 years agosilence debug message
Ged Murphy [Mon, 15 Jan 2007 23:23:29 +0000 (23:23 +0000)]
silence debug message

svn path=/trunk/; revision=25474

13 years ago- Fix locking bugs in guarded mutex implementation. In race conditions some operation...
Alex Ionescu [Mon, 15 Jan 2007 21:34:36 +0000 (21:34 +0000)]
- Fix locking bugs in guarded mutex implementation. In race conditions some operations were not re-attempted.
- Fix some other logic bugs, including a serious bug in KeTrytoAcquireGuardedMutex which inversed the result.

svn path=/trunk/; revision=25473

13 years ago- Fix several bugs in the rundown protection implementation, mostly related to incorr...
Alex Ionescu [Mon, 15 Jan 2007 21:12:32 +0000 (21:12 +0000)]
- Fix several bugs in the rundown protection implementation, mostly related to incorrect loop restarting in case of a race condition.
- The rundown event is a sync event, not a notification event.
- Only take slow path when waiting for release if the value changed *and* is still not active, not if only one of the two is true.

svn path=/trunk/; revision=25472

13 years ago- Add KeAreAllApcsDisabled to DDK.
Alex Ionescu [Mon, 15 Jan 2007 20:54:40 +0000 (20:54 +0000)]
- Add KeAreAllApcsDisabled to DDK.
[4 bug fixes]:
- Setup default GrantedAccess for system init thread/process in ObInit.
- Fix a small bug in ObpReapObject.
- Set object header flag is deletion was done deferred.
- Simplify ObpDeferObjectDeletion.
- Use KeAreAllApcsDisabled instead of only checking IRQL to determine if we should do defered deletion.

svn path=/trunk/; revision=25471

13 years ago[12 bug fixes]:
Alex Ionescu [Mon, 15 Jan 2007 20:24:40 +0000 (20:24 +0000)]
[12 bug fixes]:
- Isolate FuckedUpCm version of ObpLookupDirectoryObject into CmpLookupDirectoryObject to avoid name info leak.
- Rename ObpIncrementQueryReference to ObpAcquireNameInformation and ObpDecrementQueryReference to ObpReleaseNameInformation and make some changes to make calling a lot easier.
- Fixup reference increment loop in above function.
- Fix incorrect check for defer delete flag instead of query references flag.
- Only clear the directory/directory lock flag in ObpCleanupDirectoryLookup if the directory was actually locked.
- Fix lock logic in ObpLookupDirectoryEntry.
- Properly handle the case when lookup occurs after an existing object, avoid name information leak and reference leak.
- Hold shared lock inside NtQuerydirectoryObject.
- Properly initiailize the directory object in NtCreateDirectoryObject.
- Clear create info before creating the unnamed handle in ObInsertObject.
- Only dereference the target process if we actually have one in NtDuplicateObject.
- Don't double-reference the name information in ObpDeleteNameCheck, thus avoiding another leak.
- Fix object case sensitivity check in ObpLookupObjectName.

svn path=/trunk/; revision=25469

13 years ago[22 bugfixes]:
Alex Ionescu [Mon, 15 Jan 2007 18:37:53 +0000 (18:37 +0000)]
[22 bugfixes]:
- ObpReferenceProcessObjectByHandle is always called with HandleInformation, remove this check.
- ObpReferenceProcessObjectByHandle already gets a process parameter, don't query the current one.
- ObpReferenceProcessObjectByHandle already gets a handle table, don't query the current one.
- ObpDecrementHandleCount shouldn't remove the object from the creator info.
- ObpDecrementHandleCount should clear the exclusive process if this is the last handle.
- Killing a protected handle should raise an exception if a debug port is connected, not an exception port.
- ObpIncrementHandleCount should support OBJ_FORCE_ACCESS_CHECK.
- ObpIncrementHandleCount needs to support ObDuplicateHandle.
- ObpIncrementHandleCount needs to support being called without an AccessState.
- Fix interlocked handle count accounting.
- Allow user-mode to create kernel-mode handles.
- Fix the way Additional reference bias is de-referenced during failures.
- Complete rundown in ObKillProcess.
- Send SourceProcess in ObDuplicateHandle.
- Assume initial failure and clear handle in ObDuplicateHandle.
- Don't leak object table references when failing in ObDuplicateHandle.
- Assume failure in ObOpenObjectByName.
- Don't leak buffer during failure in ObOpenObjectByName.
- Don't leak object reference durning failure in ObOpenObjecByName.
- Validate handle attributes in ObOpenObjectByPointer.
- Use RtlCopyMemory when possible to speed up.

svn path=/trunk/; revision=25467

13 years agofix icon loading code to load the correct icon for the current display bpp settings
Ged Murphy [Mon, 15 Jan 2007 18:08:37 +0000 (18:08 +0000)]
fix icon loading code to load the correct icon for the current display bpp settings

svn path=/trunk/; revision=25466

13 years ago- Fix handle close bug. The ExDestroyHandleEntry API was only killing entries unless...
Alex Ionescu [Mon, 15 Jan 2007 07:33:42 +0000 (07:33 +0000)]
- Fix handle close bug. The ExDestroyHandleEntry API was only killing entries unless the table wasn't being destoyed, which it actually is during process termination, and through failing, was actually not closing the handle at all. This means any killed process leaked all its handles and they were never closed. These handles are now closed, reducing memory load/leaks and opening the door for new bugs :)
- Fix LPC process closing bug.
- Rewrite executive timer support to make it thread-safe and use proper locking order and semantics as well as safe referencing. Also implement Windows 2003 feature of flushing DPCs when a timer is deleted, to avoid the timer from being fired after deletion.

svn path=/trunk/; revision=25461

13 years ago- add a primitive XSL for displaying the ReactOS dependency map
Johannes Anderwald [Sun, 14 Jan 2007 20:41:01 +0000 (20:41 +0000)]
- add a primitive XSL for displaying the ReactOS dependency map

svn path=/trunk/; revision=25458

13 years ago- comment out using xsl style sheet until its ready
Johannes Anderwald [Sun, 14 Jan 2007 19:49:27 +0000 (19:49 +0000)]
- comment out using xsl style sheet until its ready

svn path=/trunk/; revision=25457

13 years ago- implement dependency map checking
Johannes Anderwald [Sun, 14 Jan 2007 19:28:07 +0000 (19:28 +0000)]
- implement dependency map checking

svn path=/trunk/; revision=25455

13 years ago- the parameter flags is of type unsigned. Therefore you dont need an additional...
Johannes Anderwald [Sun, 14 Jan 2007 18:07:56 +0000 (18:07 +0000)]
- the parameter flags is of type unsigned. Therefore you dont need an additional check if Flags < 0

svn path=/trunk/; revision=25454

13 years agothe public frist version that can convert arty testms.exe that are commited to powerp...
Magnus Olsen [Sun, 14 Jan 2007 18:01:56 +0000 (18:01 +0000)]
the public frist version that can convert arty testms.exe that are commited to powerpc branch in the alink folder.
the program doing main() ( return 0 )
fixing minior bugs as well

svn path=/trunk/; revision=25453

13 years agodelete ImageLoaer.c until I time rewrite it
Magnus Olsen [Sun, 14 Jan 2007 17:16:38 +0000 (17:16 +0000)]
delete ImageLoaer.c until I time rewrite it

svn path=/trunk/; revision=25451

13 years agofix warnings
Sylvain Petreolle [Sun, 14 Jan 2007 15:21:35 +0000 (15:21 +0000)]
fix warnings

svn path=/trunk/; revision=25450

13 years agoAdding stub for AnyalsingProcess and ConvertToIntelProcess
Magnus Olsen [Sun, 14 Jan 2007 13:54:19 +0000 (13:54 +0000)]
Adding stub for AnyalsingProcess and ConvertToIntelProcess

svn path=/trunk/; revision=25449

13 years agoadding blr opcode (can not found it in the ibm or motorala doc, the primary opcode...
Magnus Olsen [Sun, 14 Jan 2007 12:10:53 +0000 (12:10 +0000)]
adding blr opcode (can not found it in the ibm or motorala doc, the primary opcode refens to addi).
now we can disambler two opcode the li and blr, add blr to my own asm langues.

svn path=/trunk/; revision=25448

13 years agoFixing a bug in ppc opcode Li
Magnus Olsen [Sun, 14 Jan 2007 10:57:18 +0000 (10:57 +0000)]
Fixing a bug in ppc opcode Li
Fixing the memory leak bug
Full implement of the Li
Convert Li to my own asm langues, opcode move reg,imm
Left todo is add the anyalying process and converting process, after that we can translate our frist public pe file for ppc to intel
with one opcode, it must be Li

svn path=/trunk/; revision=25447

13 years agostart on adding the own langues, this version create a memory leak if u try run this...
Magnus Olsen [Sat, 13 Jan 2007 23:26:32 +0000 (23:26 +0000)]
start on adding the own langues, this version create a memory leak if u try run this tool in translate mode. but not in
disambler mode. (only true for ppc brain about memory leak)

svn path=/trunk/; revision=25445

13 years ago1. fixing a layout bug
Magnus Olsen [Sat, 13 Jan 2007 22:09:11 +0000 (22:09 +0000)]
1. fixing a layout bug
2. frist disambler output for public, the public version can now disambler ppc li rA,imm that all at moment

svn path=/trunk/; revision=25444

13 years agoAdd hit-testing for caption buttons.
Eric Kohl [Sat, 13 Jan 2007 19:15:12 +0000 (19:15 +0000)]
Add hit-testing for caption buttons.

svn path=/trunk/; revision=25443

13 years ago- add italian translation by Paolo Devoti,
Johannes Anderwald [Sat, 13 Jan 2007 18:39:38 +0000 (18:39 +0000)]
- add italian translation by Paolo Devoti,
- fixes some issues with the patch (missing \ or \n or ")
See issue #1983 for more details.

svn path=/trunk/; revision=25442

13 years ago- add italian translation by Paolo Devoti,
Johannes Anderwald [Sat, 13 Jan 2007 18:20:53 +0000 (18:20 +0000)]
- add italian translation by Paolo Devoti,
- fixes bug 1974, 1975, 1976

svn path=/trunk/; revision=25441

13 years agoadding GetData32Be, GetData32Le for getting 4bytes from big or lite endian
Magnus Olsen [Sat, 13 Jan 2007 17:27:14 +0000 (17:27 +0000)]
adding GetData32Be, GetData32Le for getting 4bytes from big or lite endian
start implment Ld for ppc.

svn path=/trunk/; revision=25440

13 years agoadding print out the type of asm file in the asm file
Magnus Olsen [Sat, 13 Jan 2007 14:34:50 +0000 (14:34 +0000)]
adding print out the type of asm file in the asm file

svn path=/trunk/; revision=25439

13 years agoadding option for disambler mode, disambler mode does not translate a binary file...
Magnus Olsen [Sat, 13 Jan 2007 12:23:25 +0000 (12:23 +0000)]
adding option for disambler mode, disambler mode does not translate a binary file. it doing a disambler of the file

svn path=/trunk/; revision=25438

13 years ago- make sysreg compilable under Linux
Johannes Anderwald [Sat, 13 Jan 2007 12:19:56 +0000 (12:19 +0000)]
- make sysreg compilable under Linux
- sysreg is now able to start the emulator but it cannot get any debug data yet. But this might be due that i tested sysreg in linux under vmware which then ran qemu....

svn path=/trunk/; revision=25437

13 years ago1. last move is done arm to From folder
Magnus Olsen [Sat, 13 Jan 2007 10:39:12 +0000 (10:39 +0000)]
1. last move is done arm to  From folder
2. remove some include in CpuToIntel.c file they are not longer need it.

svn path=/trunk/; revision=25436

13 years agoCreate a folder call From and start move in all cpu we will in futer translate from
Magnus Olsen [Sat, 13 Jan 2007 10:27:17 +0000 (10:27 +0000)]
Create a folder call From and start move in all cpu we will in futer translate from

svn path=/trunk/; revision=25435

13 years ago1. finish the peloader, left todo add decoder for each sectionheader, add the base...
Magnus Olsen [Sat, 13 Jan 2007 09:56:05 +0000 (09:56 +0000)]
1. finish the peloader, left todo add decoder for each sectionheader, add the base address when u call a brain, and some other minior fix
2. fix some comment that was wrong.

svn path=/trunk/; revision=25434

13 years agobackport the start of a pe loader,
Magnus Olsen [Fri, 12 Jan 2007 21:11:44 +0000 (21:11 +0000)]
backport the start of a pe loader,
backport allot of bug fix. like open file, reading file.
My working copy have allot of hacks and is a big mess. This stuff is cleanup from it.

svn path=/trunk/; revision=25433

13 years agoThai language support: keyboard layout
Dmitry Gorbachev [Thu, 11 Jan 2007 22:44:26 +0000 (22:44 +0000)]
Thai language support: keyboard layout

svn path=/trunk/; revision=25431

13 years agoadded target depmap to makefile
Christoph von Wittich [Thu, 11 Jan 2007 20:33:04 +0000 (20:33 +0000)]
added target depmap to makefile

svn path=/trunk/; revision=25430

13 years agoadded a dependencymap backend (it doesn't do anything yet)
Christoph von Wittich [Thu, 11 Jan 2007 20:32:20 +0000 (20:32 +0000)]
added a dependencymap backend (it doesn't do anything yet)

svn path=/trunk/; revision=25429

13 years ago- Fix a couple of typos, patch by GreyGhost.
Peter Ward [Thu, 11 Jan 2007 15:22:04 +0000 (15:22 +0000)]
- Fix a couple of typos, patch by GreyGhost.

svn path=/trunk/; revision=25426

13 years ago- Applied patch for "Invalid Sync after loading BLUE.SYS (bootCD-dbg)".
Peter Ward [Thu, 11 Jan 2007 14:47:50 +0000 (14:47 +0000)]
- Applied patch for "Invalid Sync after loading BLUE.SYS (bootCD-dbg)".
- See issue
- Patch by Dmitry G. Gorbachev (hto at mail cnt dot ru).

svn path=/trunk/; revision=25425

13 years ago- Make IntSystemParametersInfo send a WM_SETTINGCHANGE message when needed.
Timo Kreuzer [Wed, 10 Jan 2007 23:55:53 +0000 (23:55 +0000)]
- Make IntSystemParametersInfo send a WM_SETTINGCHANGE message when needed.
- Some code cleanup

svn path=/trunk/; revision=25423

13 years agoDon't remove keyboard focus from any other window than the one that was disabled.
Timo Kreuzer [Wed, 10 Jan 2007 23:48:02 +0000 (23:48 +0000)]
Don't remove keyboard focus from any other window than the one that was disabled.

svn path=/trunk/; revision=25422

13 years agoFix warnings
Thomas Bluemel [Wed, 10 Jan 2007 22:52:07 +0000 (22:52 +0000)]
Fix warnings

svn path=/trunk/; revision=25421

13 years agoDon't rely on stdio.h to define EOF, as native stdio.h can conflict with ROS headers
Hervé Poussineau [Wed, 10 Jan 2007 20:02:41 +0000 (20:02 +0000)]
Don't rely on stdio.h to define EOF, as native stdio.h can conflict with ROS headers

svn path=/trunk/; revision=25419

13 years agoMove up wpp include, as it is needed by widl
Hervé Poussineau [Wed, 10 Jan 2007 19:57:52 +0000 (19:57 +0000)]
Move up wpp include, as it is needed by widl

svn path=/trunk/; revision=25418

13 years agoDisable some boot options on non-x86 platforms.
Hervé Poussineau [Wed, 10 Jan 2007 19:48:35 +0000 (19:48 +0000)]
Disable some boot options on non-x86 platforms.
You can enable them again for specific platforms if needed.

svn path=/trunk/; revision=25417

13 years agoAllow use of ROS_PREFIX on MS Windows platforms (needed for cross-compiling)
Hervé Poussineau [Wed, 10 Jan 2007 19:39:52 +0000 (19:39 +0000)]
Allow use of ROS_PREFIX on MS Windows platforms (needed for cross-compiling)

svn path=/trunk/; revision=25416

13 years agoMove x86 specific part to i386/ directory.
Hervé Poussineau [Wed, 10 Jan 2007 19:39:01 +0000 (19:39 +0000)]
Move x86 specific part to i386/ directory.
Fix a few warnings

svn path=/trunk/; revision=25415

13 years agosorry, forgot to remove that line
Timo Kreuzer [Wed, 10 Jan 2007 18:31:33 +0000 (18:31 +0000)]
sorry, forgot to remove that line

svn path=/trunk/; revision=25414

13 years ago- Fix build.
Alex Ionescu [Wed, 10 Jan 2007 06:09:57 +0000 (06:09 +0000)]
- Fix build.

svn path=/trunk/; revision=25413

13 years agoremove focus from window, when it gets diabled
Timo Kreuzer [Wed, 10 Jan 2007 04:51:27 +0000 (04:51 +0000)]
remove focus from window, when it gets diabled
- fixes bug 843
See issue #843 for more details.

svn path=/trunk/; revision=25412

13 years ago- Commit NTLPC and remove old implementation.
Alex Ionescu [Wed, 10 Jan 2007 04:27:40 +0000 (04:27 +0000)]
- Commit NTLPC and remove old implementation.
- Yeah, this adds another regression on top of the new Ob stuff, but in the end it's for the better, as it removes more race conditions and buggy code.
- This whole week I've fixed about 45 bugs and removed a dozen race conditions, sorry for the 2-3 regressions, they will be fixed ASAP.

svn path=/trunk/; revision=25411

13 years agoMake NtUserSetFocus accept NULL window.
Timo Kreuzer [Wed, 10 Jan 2007 04:23:33 +0000 (04:23 +0000)]
Make NtUserSetFocus accept NULL window.

svn path=/trunk/; revision=25410

13 years agoShould be 7 zeros not 6.
James Tabor [Wed, 10 Jan 2007 03:42:10 +0000 (03:42 +0000)]
Should be 7 zeros not 6.

svn path=/trunk/; revision=25409

13 years ago- Implement ObReferenceProcessHandleTable and ObDereferenceProcessHandleTable and...
Alex Ionescu [Wed, 10 Jan 2007 03:35:59 +0000 (03:35 +0000)]
- Implement ObReferenceProcessHandleTable and ObDereferenceProcessHandleTable and use them where appropriate to avoid race issues if the process is being killed meanwhile.
- Implement ObpReferenceProcessObjectByHandle and simplfy ObDuplicateObject.
- Disable hard errors while closing handles, and protect against races. Also print our error message since it seems handles aren't being closed now (message displays leak count).
- Honour DUPLICATE_CLOSE_SOURCE during failure paths in ObDuplicateObject, and catch race conditions.
- Add some more sanity checks and speed up some internal referencing.

svn path=/trunk/; revision=25408

13 years ago- Fix a bug in ExfWakePushLock.
Alex Ionescu [Wed, 10 Jan 2007 01:00:46 +0000 (01:00 +0000)]
- Fix a bug in ExfWakePushLock.
- Implement object directory locking to avoid race conditions in Ob and enable most of the query referencing code.

svn path=/trunk/; revision=25407

13 years ago- Add currency page controls.
Eric Kohl [Tue, 9 Jan 2007 23:00:21 +0000 (23:00 +0000)]
- Add currency page controls.
- Display currency format information.

svn path=/trunk/; revision=25406

13 years agoImplement new keyboard driver and layout structures to help Saveliy Tretiakovs LoadKe...
James Tabor [Tue, 9 Jan 2007 22:55:40 +0000 (22:55 +0000)]
Implement new keyboard driver and layout structures to help Saveliy Tretiakovs LoadKeyboardLayout implementation.

svn path=/trunk/; revision=25405

13 years ago Updated French translation by Pierre Schweitzer 2007 (heis_spiter AT hotmail DOT...
Johannes Anderwald [Tue, 9 Jan 2007 22:02:17 +0000 (22:02 +0000)]
 Updated French translation by Pierre Schweitzer 2007 (heis_spiter AT hotmail DOT com)
See issue #1969 for more details.

svn path=/trunk/; revision=25404

13 years ago- Heavy cleanup of locking and lookup macros in ob_x.h.
Alex Ionescu [Tue, 9 Jan 2007 21:48:26 +0000 (21:48 +0000)]
- Heavy cleanup of locking and lookup macros in ob_x.h.
- Add calls to ObpInitializeDirectoryLookup where required.
- Fixup calls to ObpAcquireDirectoryLockExclusive, but still keep them stubbed out for now.

svn path=/trunk/; revision=25403

13 years ago- czech translation by Kamil Hornicek,
Johannes Anderwald [Tue, 9 Jan 2007 21:21:52 +0000 (21:21 +0000)]
- czech translation by Kamil Hornicek,
See issue #1959 for more details.

svn path=/trunk/; revision=25402

13 years ago- i prefer tabs
Johannes Anderwald [Tue, 9 Jan 2007 20:41:14 +0000 (20:41 +0000)]
- i prefer tabs

svn path=/trunk/; revision=25401

13 years ago- Fix Port and Section Object Type creation by specifying a valid ValidAccessMask...
Alex Ionescu [Tue, 9 Jan 2007 17:18:22 +0000 (17:18 +0000)]
- Fix Port and Section Object Type creation by specifying a valid ValidAccessMask when creating the types.
- NTLPC "Branch": Ports need to maintain a Type List.
- Use proper access mode in parse callbacks.
- Properly validate the access mask given to ObpCreate(Unnamed)Handle and only grant valid bits according to ValidAccessMask.
- Use InterlockedExchangeAdd for reference count bias instead of looping on a single increment.
- Only return the object if the caller did any bias to it.
- Detach from the process much later, since exclusive process support and handle table database needs to be in the same context as the owner.
- Add audit calls to ObpCreateHandle.
- Add stubbed out calls to ObpCleanupDirectoryLookup in ObpCreateHandle.

svn path=/trunk/; revision=25400

13 years agodon't include the Iso targets in the workspace
Christoph von Wittich [Tue, 9 Jan 2007 12:28:30 +0000 (12:28 +0000)]
don't include the Iso targets in the workspace

svn path=/trunk/; revision=25399

13 years agominor changes, for be use later, adding some new data types
Magnus Olsen [Tue, 9 Jan 2007 10:53:19 +0000 (10:53 +0000)]
minor changes, for be use later, adding some new data types

svn path=/trunk/; revision=25398

13 years ago- Hold reference to the current directory and to the current parent directory during...
Alex Ionescu [Tue, 9 Jan 2007 09:37:36 +0000 (09:37 +0000)]
- Hold reference to the current directory and to the current parent directory during lookups.
- Add more stubbed out cleanup code.

svn path=/trunk/; revision=25397

13 years ago- Complete the hack that's already in SeAccessCheck to also return STATUS_SUCCESS...
Alex Ionescu [Tue, 9 Jan 2007 09:30:43 +0000 (09:30 +0000)]
- Complete the hack that's already in SeAccessCheck to also return STATUS_SUCCESS if we return TRUE always. Otherwise, code might weirdly fail.
- Save parent directory during lookups and check if the caller has the right to traverse it, if we ever need to.
- Optimize the configuration of the lookup context so that it's only done when necessary, add stub calls to lock the directory.

svn path=/trunk/; revision=25396

13 years ago- Add missing code to ObpLookupDirectoryEntry.
Alex Ionescu [Tue, 9 Jan 2007 09:07:36 +0000 (09:07 +0000)]
- Add missing code to ObpLookupDirectoryEntry.
- Add calls to ObpInitailizeDirectoryLookup.
- Add calls to ObpCleanupDirectoryLookup but disable them for now.
- Add calls to ObpAcquireDirectoryLock but disable them for now.

svn path=/trunk/; revision=25395

13 years ago- Enable sanity check in ObInsertObject to catch assholes that were calling it incorr...
Alex Ionescu [Tue, 9 Jan 2007 08:38:07 +0000 (08:38 +0000)]
- Enable sanity check in ObInsertObject to catch assholes that were calling it incorrectly (without a Handle output parameter, which is only allowed in a specific scenario). Changes:
   - Registry code which was calling ObInsertObject for no reason at all. Now an ugly hack has been added to Cm code to perform the only operation the insert did -> to free the create info.
   - SeSubProcessToken was broken and calling it incorrectly, fixed.
   - \Device\PhysicalMemory was being inserted incorrectly, fixed.
   - Boot-time driver objects were being inserted for no reason, call removed.
- Support the only case of ObInsertObject where it is OK to call it without an output handle. This codepath will only charge quota instead of creating the full-blown handle.

svn path=/trunk/; revision=25394

13 years ago- Merge some local changes from my version of ObpLookupObjectName:
Alex Ionescu [Tue, 9 Jan 2007 07:54:19 +0000 (07:54 +0000)]
- Merge some local changes from my version of ObpLookupObjectName:
   - Fixup the way we allocate object names: use paged pool instead of non-paged pool, detect insufficient memory case, detect failure to insert entry into the object directory, use name length, not maximum length when copying, use RtlCopy, not RtlMove.
   - Support forcing of case-insensitivity and OBJ_FORCE_ACCESS_CHECK.
   - Call ObCheckCreateObjectAccess and fail if access isn't granted.
   - Call ObpCheckTraverseAccess if traversing a directory fomr user-mode and fail lookup if access wasn't granted.
   - Fixup return of proper error code if we reparsed.
   - Add FIXME note for SeCreateGlobalPrivilege check which is missing.
   - Add callout IRQL checks around parse callouts.
   - Rename some variables for clearer meaning.
   - Add an extra reference when calling the parse routine in the reparse case.

svn path=/trunk/; revision=25393

13 years ago- Add internal macros for acquiring the object directory pushlock during lookup ...
Alex Ionescu [Tue, 9 Jan 2007 07:28:40 +0000 (07:28 +0000)]
- Add internal macros for acquiring the object directory pushlock during lookup (not yet used).
- Add internal macros for incrementing/decrementing query references, and use them where appropriate. Do not yet support the path for an object which is currently being defer deleted.
- Add internal macros for cleaning up a directory lookup (not yet used and needs renaming/cleanup), initializing a directory lookup (not yet used).
- Don't call security callback in ObpDeleteNameCheck. Make sure permanent flag is still cleared after acquiring type lock. Add special call for symboilc links. Add commented out calls to lock the object directory.

svn path=/trunk/; revision=25392

13 years agoimplement SPI_SETNONCLIENTMETRICS in SystemParametersInfoA
Timo Kreuzer [Tue, 9 Jan 2007 01:19:52 +0000 (01:19 +0000)]
implement SPI_SETNONCLIENTMETRICS in SystemParametersInfoA

svn path=/trunk/; revision=25391

13 years ago-don't create project files for the ISO targets
Christoph von Wittich [Tue, 9 Jan 2007 00:17:23 +0000 (00:17 +0000)]
-don't create project files for the ISO targets
-use the new extended_obj_names to prevent C::B from linking the wrong libs
-change project file version to 1.6
-compile spec, S, asm and idl files
-delete the temp rc files after building

svn path=/trunk/; revision=25390

13 years ago- Make ObpReleaseCapturedName an actual function and rename it to ObpFreeObjectNameBu...
Alex Ionescu [Mon, 8 Jan 2007 21:02:22 +0000 (21:02 +0000)]
- Make ObpReleaseCapturedName an actual function and rename it to ObpFreeObjectNameBuffer. Fix a bug in this function which was causing it to attempt freeing the UNICODE_STRING structure instead of the actual buffer.
- Implement ObpAllocateObjectNameBuffer instead of inlined code in ObpCaptureObjectAttributes. Enable usage of the Name Buffer Lookaside List since the bug in ObpFreeObjectNameBuffer has now been fixed. This should result in significant speedup and less fragmentation of pool memory.
- Allocate object names in the paged pool instead of non-paged pool, if we can't use the lookaside list.

svn path=/trunk/; revision=25389

13 years ago- Add hit-testing to the preview control (almost complete).
Eric Kohl [Mon, 8 Jan 2007 20:55:47 +0000 (20:55 +0000)]
- Add hit-testing to the preview control (almost complete).
- Add selected item combobox.
- Select item in the combobox upon clicking on an item in the preview window.

svn path=/trunk/; revision=25388

13 years ago- "No files where added or changed, there is nothing to see here" <= Yeah, thanks...
Alex Ionescu [Mon, 8 Jan 2007 20:52:45 +0000 (20:52 +0000)]
- "No files where added or changed, there is nothing to see here" <= Yeah, thanks a lot Tortoise.

svn path=/trunk/; revision=25387

13 years agoClean up tabs / spaces mix (no code change)
Timo Kreuzer [Mon, 8 Jan 2007 20:01:04 +0000 (20:01 +0000)]
Clean up tabs / spaces mix (no code change)

svn path=/trunk/; revision=25386

13 years ago- Implement ObpCreateSymbolicLinkName and enable call to the function. It shouldn...
Alex Ionescu [Mon, 8 Jan 2007 19:52:49 +0000 (19:52 +0000)]
- Implement ObpCreateSymbolicLinkName and enable call to the function. It shouldn't do any work currently because we don't have DOS Device Maps.
- Also stub ObpDeleteSymbolicLinkName since it'll probably be needed later.

svn path=/trunk/; revision=25385

13 years ago- Implement ObFindHandleForObject and add it to the NDK. However, it depends on ExEnu...
Alex Ionescu [Mon, 8 Jan 2007 19:40:10 +0000 (19:40 +0000)]
- Implement ObFindHandleForObject and add it to the NDK. However, it depends on ExEnumHandleTable which is still unimplemented.
- Fix up prototype of the function (it returns TRUE/FALSE, not NTSTATUS) and fix callers to use it properly.
- Also add ExEnumHandleTable to NDK.

svn path=/trunk/; revision=25384

13 years ago- Fix some NDK dependency problems.
Alex Ionescu [Mon, 8 Jan 2007 18:11:24 +0000 (18:11 +0000)]
- Fix some NDK dependency problems.

svn path=/trunk/; revision=25383

13 years ago- Fix kmtest's inclusion of the NDK.
Alex Ionescu [Mon, 8 Jan 2007 17:56:56 +0000 (17:56 +0000)]
- Fix kmtest's inclusion of the NDK.
- Implement support for the Handle Count Database.
- Don't do anything in IopCloseFile if this isn't the last handle for the process.

svn path=/trunk/; revision=25382

13 years ago- Fix build. Sorry, forgot that the last commit also included changes to FsrtlAreName...
Alex Ionescu [Mon, 8 Jan 2007 17:49:44 +0000 (17:49 +0000)]
- Fix build. Sorry, forgot that the last commit also included changes to FsrtlAreNamesEqual to raise an exception if upcasing the strings failed.

svn path=/trunk/; revision=25381

13 years ago- Add authors' names.
Alex Ionescu [Mon, 8 Jan 2007 17:22:15 +0000 (17:22 +0000)]
- Add authors' names.

svn path=/trunk/; revision=25380

13 years ago- Delete /fs directory.
Alex Ionescu [Mon, 8 Jan 2007 16:51:06 +0000 (16:51 +0000)]
- Delete /fs directory.
- Add /fsrtl directory with new file structure and remove all the code except for some smaller "known-working" functions.
- Reason for this is that FsRtl now has a new owner (Dominique Coté) and he will be implementing and testing proper versions of the routines.

svn path=/trunk/; revision=25379

13 years ago- Fix some annoying warnings in wrc.
Peter Ward [Mon, 8 Jan 2007 08:48:28 +0000 (08:48 +0000)]
- Fix some annoying warnings in wrc.
- Fixed a warning in winebuild.

svn path=/trunk/; revision=25373

13 years ago- Fix ObReferenceObjectByName to do proper name validation checks.
Alex Ionescu [Mon, 8 Jan 2007 08:03:47 +0000 (08:03 +0000)]
- Fix ObReferenceObjectByName to do proper name validation checks.
- Fix ObReferenceObjectByName to call ObpCheckObjectReference before allowing the caller to obtain the reference.
- Rename ObFindObject to ObpLookupObjectName and shuffle parameters around and add some placeholder code that resets the object pointer of the lookup context.
- Modify ObpChargeQuotaForObject to also return if this is a new object.
- Modify ObpDecrementHandleCount to detect when objects with a handle database are being used. Also protect close callout with checks. Protect ObpCloseHAndleTableEntry's callouts with checks as well.
- Update logic of ObpIncrementHandleCount and ObpIncrementUnnamedHandleCount to handle currently exclusive objects as well as new handles with OBJ_EXCLUSIVE. Also detect objects that require handle databases and protect callouts.
- Support CreatorInfo and the TypeList in ObpIncrementHandleCount. Also update the TotalNumberOfHandles in the object type properly.
- Fixup object type lock usage in these routines.
- Do proper invalid attributes check in ObOpenObjectByName, and also use a buffer from the pool instead of the stack.
- Make ObInsertObject detect invalid object insertions and change some parameter names and checks.
- Add stub code to validate the access mask in ObInsertObject. Proper initailize some lookup variables before starting lookup.
- Add detection for symbolic link inserts which require some handling code later on.
- Free the create information at the right moment isntead of too late.
- Add some missing Ob functions, flags and types to the NDK. Fix OBJECT_DIRECTORY structure to use EX_PUSH_LOCK for locks, not ERESOURCE.

svn path=/trunk/; revision=25372

13 years ago- Changes to lookup context set-up as place-holder and compatibility for future patch...
Alex Ionescu [Mon, 8 Jan 2007 07:54:57 +0000 (07:54 +0000)]
- Changes to lookup context set-up as place-holder and compatibility for future patch. Only configure the lookup context once, outside the initial loop, instead of configuring it with the same settings at each iteration.

svn path=/trunk/; revision=25371

13 years ago- Validate lookup context in ObpInsertEntryDirectory.
Alex Ionescu [Mon, 8 Jan 2007 07:53:50 +0000 (07:53 +0000)]
- Validate lookup context in ObpInsertEntryDirectory.
- Read actual ObpLUIDDeviceMapsEnable variable do determine if shadow-searching is enabled in ObpLookupEntryDirectory.
- Currently disable all directory locking code (it was never used anyways) in ObpLookupEntryDirectory.
- Update ObpLookupEntryDirectory with placeholder code/branches for future patch implementing directory locks.

svn path=/trunk/; revision=25370