- Set the right wait status in KiAbortWaitThread.
- Don't ignore priority boost (increments) when aborting waits.
- When satisfying a mutant, insert if into the the head of the back-link, not the forward-link.
svn path=/trunk/; revision=23051
- Move some inlined functions from ke.h to ke_x.h
- Add checks for special apc disabled (guarded regions) in wait code.
svn path=/trunk/; revision=23050
2. Fixing so the screensaver do not restart it self.
Alesky here is the bugfix I promies, it will not longer see alot start screen msg.
One bug remains before the reg key will be adding as defualt for matrix.scr so it
can run from livecd as well
svn path=/trunk/; revision=23047
2. Adding a test apps for starting directdraw hal interface, that I have keep within few ros devs, and one wine devs,
it also being using in 2-3 diffent company same code. I known which company that using it with my written premitions
I give them on icq or email. But u need a document how to use kernel, d3d, mocomp interface,and some more how to access
them. I only show how to start dx hal the interface and using so call IDrawDraw interface. in this apps.
svn path=/trunk/; revision=23043
- Add DPC Settings (Queue Depths, Rates, etc)
- Cleanup System/Run Time Update code.
- Always increase kernel time in PRCB when inside kernel-mode code.
- Get rid of superflous interlocked commands when not needed.
- Improve detection of DPC vs non-DPC time.
- Respect and apply DPC queue/rate rules.
- Allow future use of non-fulltick time increments.
svn path=/trunk/; revision=23039
- Cleanup queue.c
- Add some ASSERTs
- Properly check for SPecialApcDisable before aborting a wait.
- Fix a bug in KiWaitQueue which was causing us not to remove the queue from the thread's wait list.
svn path=/trunk/; revision=23038
- Inline Acquiring/Leaving guarded regions and the gmutex code, instead of going through 3-4 indirect calls.
- Add a mountain of ASSERTs to detect incorrect usage/state.
- Set ->SpecialApcDisable in the Guarded Mutex.
- Fix broken KTHREAD definition. SpecialApcDisable and KernelApcDisable were incorrectly marked as USHORT instead of SHORT, which could cause severe trouble under optimized builds (At least under MSVC, since MSVC wouldn't allow a negative number in an unsigned short).
- Use GM_LOCK_BIT_V.
- Fix broken KeTryToAcquireGuardedMutex prototype.
- Fix broken KGUARDED_MUTEX typedef and add bit values.
- Fix broken Interlocked* prototypes in regards to volatileness.
svn path=/trunk/; revision=23037
- Add a branch for stopping the screensaver
- Prettify the tracing debug message (it shows now if it's a start or a stop request)
- Add a success-check for RegOpenKeyExW too
svn path=/trunk/; revision=23032
* create a CSRSS_SCREEN_BUFFER object before TuiInit/GuiInit
-> required for variable screen buffer sizes
* improve error handling in CsrCreateScreenBuffer
guiconsole.c:
* directly store WindowSize in CSRSS_CONSOLE struct
* read ScreenBufferSize value from registry and store result in CSRSS_SCREEN_BUFFER
* use default values for ScreenBufferSize / WindowSize
tuiconsole.c:
* set screenbuffer size to size of physical console size in init
svn path=/trunk/; revision=23031
* read WindowSize from registry
* create GUI_CONSOLE_DATA directly in GuiInitConsole
* wait untill GuiWindow has been created (needed for synchronization with variable window sizes)
svn path=/trunk/; revision=23028
- Implement ObReferenceEx and ObDereferenceEx.
- Split off ObpDeferObjectCompletion. A new win2003/vista API requires direct acess to being able to defer deletes.
- Fix some bugs in Process Token management and make it all properly use Fast Referencing.
- When duplicating a token in a new process, don't de-reference it before it's even created, and also insert it.
- Change ExpChangeRundown macro to fix warnings in msvc.
svn path=/trunk/; revision=23013
- Cleanup a big coding-style mess
- Add UNIMPLEMENTED macro in empty functions (otherwise we will never know if they are being called by a 3rd-party driver)
- Add proper debug headers inclusion in every file
- Add documentation headers into almost every file (except mcb.c and context.c - will be added later)
- Standardize per-file headers (some files still lack contributors names, they will be added later too)
No code change except for adding UNIMPLEMENTED macros in the code. Name.c unlocked because the implementations of functions are trivial and in fact could be derived from their names. Not documented functions will be further reviewed.
svn path=/trunk/; revision=23005
tcslen, wsclen did not check if the string was null or not.
Adding a NULL pointer check. This make user32 test working and alot other apps.
svn path=/trunk/; revision=23004
Do not try reading from NULL pointer and compare the value.
This let me come bit futer with user32_winetest.exe, but we still have some user mode crash with menu.
svn path=/trunk/; revision=23003