Commit graph

13241 commits

Author SHA1 Message Date
Alex Ionescu
e389f0c999 Implement timer expiring too fast for KeDelayExecutionThread. Dedicated to filip
svn path=/trunk/; revision=14184
2005-03-18 23:26:44 +00:00
Martin Fuchs
0412c84cea register ourselved as task manager window to make the RegisterShellHookWindow() call working [thanks to Filip :)]
svn path=/trunk/; revision=14183
2005-03-18 23:00:54 +00:00
Martin Fuchs
a5b6da0234 cleanup of latest RegisterShellHookWindow() changes
svn path=/trunk/; revision=14182
2005-03-18 20:34:01 +00:00
Gunnar Dalsnes
846dc1aebe -remove incorrect handle count check when deleting files
-reformat code

svn path=/trunk/; revision=14181
2005-03-18 19:36:36 +00:00
Hervé Poussineau
f0bec76acd Fix a warning with some compilers about non-initialized variable.
This can't really happen in real execution, but let's be the compiler happy ;)

svn path=/trunk/; revision=14180
2005-03-18 19:00:48 +00:00
Hervé Poussineau
64944b49f7 Don't double-define STATUS_ARRAY_BOUNDS_EXCEEDED
svn path=/trunk/; revision=14179
2005-03-18 17:45:59 +00:00
Hervé Poussineau
301637bbde Implement partly IoReportResourceForDetection() and IoReportDetectedDevice(), just enough to support serial driver
svn path=/trunk/; revision=14178
2005-03-18 16:51:39 +00:00
Hervé Poussineau
08da4a07b0 Implement legacy detection (it should be able to detect the first two serial ports)
Implement reading by polling (expect lots of bugs!)
Use receive and send queues
Better handling of some IRPs
Lots of small bugs fixes

svn path=/trunk/; revision=14177
2005-03-18 16:01:35 +00:00
Thomas Bluemel
343e3f7bdc can't receive the cid from a KTHREAD structure, fixes compiling with debugging enabled
svn path=/trunk/; revision=14176
2005-03-18 13:52:21 +00:00
Alex Ionescu
c2c6049107 Update ETHREAD fields and termination port stucture to XP, and do necessary code changes. This makes reaping even faster. It's 2:30am, i hope there's no bugs ;-)
svn path=/trunk/; revision=14175
2005-03-18 07:19:30 +00:00
Alex Ionescu
eb54434d27 Thread/Process Termination/Repeaing Rewrite + Fixes
---------------------------------------------------

    - ps/cid.c: 
            * Moved CID Lookup functions here
            
    - ps/security.c: 
            * Moved all security related functions here. Makes other files neater and security functions
              easier to locate.
              
    - ps/thread.c: 
            * Moved most of the Thread Scheduling/Dispatching code that belongs in the Kernel to /ke and
              renamed functions from Ps to Ki.
            * Implemented PsIsSystemThread.
            * Removed Reaper Thread Init (now obsolete).
            * Renamed PiDeleteThread to PspDeleteThread.
            * Moved Thread State functions from tinfo.c to here.
            
    - ps/process.c:
            * Removed Query/Set Process functions and moved to ps/query.c
            * Renamed PiDeletePRocess to PspDeleteProcess
            * Removed obsoleted Process Termination functions, moved persistent one to kill.c
    
    - ps/create.c:
            * Moved the security APIs to security.c
            * Correctly implemented PsCreateSystemThread to actually create system threads.
        
            
    - ps/suspend.c
            * Rewrote Nt Executive functions to use Kernel functions.
            * Moved Ps* Routines into ke/kthread.c and fixed them. The implementation was wrong in
              some aspects, especially the issue of the APC looping around the KeWaitXxx call and the
              fact that the routines excluded/ignored the FreezeCount.
            
    - ps/debug.c
            * Fixed completely broken implementation of Get/SetThreadContext. The old version crashed
              when called and did not work at all. Suspend Regression test now works.
            * Moved Context<->TrapFrame functions to ke/i386/
            * Combined Set/GetThreadContext APCs into a single one, and used special context structure.
            
    - ps/query.c:
            * Moved Thread/Process Query/Set Routines here.
            
    - ps/tinfo.c:
            * Removed.
            
    - ps/kill.c
            * Removed complicated Process Termination semantics and useless Attach/Detach in favor for
              a much more lightweight function which performs the same tasks as before and actually works.
              TaskManager can now terminate foreign processes.
            * Rewrote Thread Reaping to use the HyperCritical Work Queue instead of manually controlled
              thread. This results in much less code as well as an increase in speed and less micro
              management. The reaper is PspReapRoutine. Closing CMD.EXE now works properly without
              requiring masks that were added as hacks to allow it.
            * Renamed PiTerminateProcessThreads to PspTerminateProcessThreads. Fixed it to work with new
              termination code.
            * Added PspDeleteProcess to handle Process Object deletion. Kills the CID Handle here as done
              by Hartmut.
            * Added PspDeletethread here.
            * Renamed and rewrote PsTerminateCurrentThread to PspExitThread. Used NT Implementation out-
              lined in Windows Internals, Chapter 13. Uses less locks, a more concise order of actions,
              actually parses the Termination Ports, handles Dbgk notification. Timers are now rundown,
              and Mutex rundown is in a dedicated Kernel function. Final termination handled by KeTerminate
              Thread as documented.
            * Renamed PsTerminateOtherThread to PspTerminateThreadByPointer and modified implementation to
              be compatible with the changes above.
            * Renamed and regrouped Process Termination into PspExitProcess. Also implemented as described
              above, and moved each subsystem specific termination helper into its own subsytem.
            * Improved NtTerminateProcess and added more debugging messages.
            * Improved NtTerminateThread and added check against System Thread and made it compatible with
              new implementation.
            * Corrected PsTerminateSystemThread now that we support System Threads.
            * Corrected NtRegisterThreadTerminatePort to use same structure name as on windows for the 
              port, and added tag to pool allocation (documented in pooltag.txt)
    
    include/internal/*.h:
    
            * Defined Scheduler Functions and misc new functions or renamed functions.
            
    ke/apc.c:
    
            * Fixed critical bug where APCs were not delivered at all if the thread wastion and cancels any timers that are associated
              to a thread, as well as their APCs and DPCs.
      
    REGRESSIONS FOUND: NONE
    
    BUGS/REGRESSIOSN FIXED:
                * Thread/Get Set Context now works.
                * Suspend Regression test now works.
                * Task manager can now kill foreign processes, even hung ones (like it should).
                * ExitProcess/closing cmd.exe with the 'x' button now works correctly without hacks.
      KNOWN ISSUES: I left a bit of a mess in the headers and some stuff still needs to be moved into the right 
                  places. I just wanted to have this first part ready first, so that it won't get too big.

svn path=/trunk/; revision=14174
2005-03-18 05:53:04 +00:00
Art Yerkes
604f4f13c1 Added simple dword OID query to lan.
Correct oper status, admin status and type settings in iinfo.
Small fixes in lan.c for adapter name.

svn path=/trunk/; revision=14173
2005-03-18 03:26:12 +00:00
Art Yerkes
59c145b801 Don't let sign extension mess us up here.
svn path=/trunk/; revision=14172
2005-03-18 02:56:29 +00:00
Filip Navara
e52a450d86 - Correctly initialize the standard handles for console-less applications.
- Simplify _isatty and fix it to not set the errno for "invalid" handles.

svn path=/trunk/; revision=14171
2005-03-18 02:10:50 +00:00
Steven Edwards
b4e1db6c92 Lined up Buttons.
Removed my broken attempt at understaind comboboxes.
Cleaned up WM_INITDIALOG.

svn path=/trunk/; revision=14170
2005-03-18 00:56:34 +00:00
Filip Navara
e995509c26 It's not exactly wise to call GetFileTime and CloseHandle with invalid handle, so don't do it.
svn path=/trunk/; revision=14169
2005-03-17 23:52:28 +00:00
Filip Navara
b8419654bd Don't try to release mutex with NULL handle. Also prevent releasing the same mutex twice.
svn path=/trunk/; revision=14168
2005-03-17 23:16:12 +00:00
Filip Navara
310a5bcfb7 Don't try to duplicate NULL handles.
svn path=/trunk/; revision=14167
2005-03-17 22:40:19 +00:00
Filip Navara
a384c6e670 (GDIOBJ_SetOwnership): Don't try to decrease the GDI object counter for global handles since they're not associated with process.
svn path=/trunk/; revision=14166
2005-03-17 22:00:19 +00:00
Magnus Olsen
02755a61f0 more stuff for ddraw.dll not tested yet.
svn path=/trunk/; revision=14165
2005-03-17 20:15:44 +00:00
Hartmut Birr
eabbaacd53 Don't close the handle if the write back does fail (in NtOpenProcessTokenEx).
svn path=/trunk/; revision=14164
2005-03-17 19:35:16 +00:00
Steven Edwards
fc4c441263 Dedicated to Alex.
I give to you "The ReactOS License Manager"

No its just a dummy dialog I wrote to learn how to make
Control Panel Applets. Please don't implement this.

svn path=/trunk/; revision=14163
2005-03-17 19:03:55 +00:00
Hartmut Birr
100f53e3ab - Moved the deleting of the process id from PiTerminateProcess to PiDeleteProcessWorker.
- Checked the status at the end of NtOpenProcessTokenEx.

svn path=/trunk/; revision=14162
2005-03-17 18:51:20 +00:00
Aleksey Bragin
a392c38668 One more assert added, but unfortunately it isn't triggered currently...
svn path=/trunk/; revision=14161
2005-03-17 16:09:12 +00:00
Filip Navara
f60f345d30 - Don't try to kill non-existing timers.
- Close dialog using EndDialog instead of DestroyWindow.

svn path=/trunk/; revision=14160
2005-03-17 13:17:05 +00:00
Filip Navara
643a182dd0 Now that CSRSS is getting unloaded we must unregister the primitive message queue when it's about to be destroyed.
svn path=/trunk/; revision=14159
2005-03-17 13:07:28 +00:00
Gunnar Dalsnes
cd4a8585a8 scanf: fix handling of %n token
svn path=/trunk/; revision=14157
2005-03-17 00:31:40 +00:00
Gunnar Dalsnes
9019d252be scanf: fix handling of %n token
svn path=/trunk/; revision=14154
2005-03-16 23:59:41 +00:00
Robert Kopferl
847aa89893 To do once more a little piece os2ss
svn path=/trunk/; revision=14153
2005-03-16 23:51:26 +00:00
Magnus Olsen
1020ee4805 add regsvr.c from wine as frist implement of ddraw.
so it can registrate it selv into the register. 

svn path=/trunk/; revision=14152
2005-03-16 23:23:44 +00:00
Magnus Olsen
c72257a26f small change to start to implement ddraw.dll
svn path=/trunk/; revision=14151
2005-03-16 23:21:00 +00:00
Magnus Olsen
d1274928bb small change to start to implement ddraw.dll
svn path=/trunk/; revision=14150
2005-03-16 23:17:33 +00:00
Gé van Geldorp
8753158ddb Add riched20.dll, msi.dll and msiexec.exe to bootcd
svn path=/trunk/; revision=14149
2005-03-16 22:52:55 +00:00
Hervé Poussineau
b6ef4c6ee6 Better NtUserEnumDisplayDevices stub
svn path=/trunk/; revision=14148
2005-03-16 22:27:47 +00:00
Hervé Poussineau
96b374677d Implement resolution and color depth selection.
Applying new settings doesn't work due to unimplemented NtUserChangeDisplaySettings

svn path=/trunk/; revision=14147
2005-03-16 22:19:12 +00:00
Gé van Geldorp
4dde3a1c21 Fix eol-style
svn path=/trunk/; revision=14146
2005-03-16 22:18:42 +00:00
Filip Navara
37c4d8279f Initialize the pGdiInfo->flRaster field to zero.
svn path=/trunk/; revision=14145
2005-03-16 21:28:21 +00:00
Klemens Friedl
c79360a933 Mindflyer, a.k.a. mf <mf@mufunyo.net>
alternative icon files
* mycomputer icon
* terminal icon

svn path=/trunk/; revision=14144
2005-03-16 21:18:33 +00:00
Filip Navara
baefc0115b Fix some logic in port management code.
svn path=/trunk/; revision=14143
2005-03-16 21:03:51 +00:00
Thomas Bluemel
d86736989a Rouven Wessling <rouven@rouvenwessling.de>:
calc:
- fixed spelling mistakes
ncpa, aclui:
- German translation

svn path=/trunk/; revision=14142
2005-03-16 20:36:02 +00:00
Filip Navara
11c6007bb9 Ulrich Czekalla <ulrich@codeweavers.com>
Set WS_EX_CONTROLPARENT when dialog has DS_CONTROL.
Mike McCormack <mike@codeweavers.com>
Strip WS_CAPTION and WS_SYSMENU for child dialogs.

svn path=/trunk/; revision=14141
2005-03-16 20:13:55 +00:00
Aleksey Bragin
31046fef6e Ivan Semenoff <ivans77@mail.ru>
Fixed a bug in RtlClearBits (asserting if startingindex+count is more than size, instead of silently continuing processing).

svn path=/trunk/; revision=14140
2005-03-16 19:27:45 +00:00
Hervé Poussineau
4d47498931 Saveliy Tretiakov <saveliyt@mail.ru>
- Only one file may be open on a port at any given time
- Implemented IOCTL_SERIAL_GET_STATS and IOCTL_SERIAL_CLEAR_STATS

svn path=/trunk/; revision=14139
2005-03-16 19:24:41 +00:00
Gé van Geldorp
ba0f1263e4 Reapply Wine-20050310 changes, this time with the changes
to the include files. Where's CIS when you need it :P

svn path=/trunk/; revision=14138
2005-03-16 17:30:11 +00:00
Gregor Anich
9577665661 Rename patch to binpatch in apps/utils
svn path=/trunk/; revision=14137
2005-03-16 16:25:54 +00:00
Gregor Anich
c165636757 Rename patch to binpatch.
svn path=/trunk/; revision=14136
2005-03-16 16:24:20 +00:00
Gregor Anich
a00d9b33dc Simple patch-creation tool (not much tested, but should work)
svn path=/trunk/; revision=14135
2005-03-16 14:01:52 +00:00
Hervé Poussineau
534636f9ce Revert revision 14118 changes
svn path=/trunk/; revision=14134
2005-03-16 12:33:26 +00:00
Magnus Olsen
9189284a9d implemnet NtGdiDdGetDriverInfo and NtGdiDdWaitForVerticalBlank
it is untested. 

svn path=/trunk/; revision=14133
2005-03-16 11:50:24 +00:00
Hervé Poussineau
89cc6c3c47 Christoph von Wittich <Christoph@ApiViewer.de>
Added Unicode support and fixes cannot compile problem

svn path=/trunk/; revision=14132
2005-03-16 11:26:14 +00:00