Difference between revisions of "Csrss.exe"

From ReactOS Wiki
Jump to: navigation, search
m
m
Line 52: Line 52:
 
* Implemented waitable console handles. - ([[Hartmut Birr]])
 
* Implemented waitable console handles. - ([[Hartmut Birr]])
 
* Removed a fake event after a input event to empty the queue in CsrReadInputEvent. ([[Hartmut Birr]])
 
* Removed a fake event after a input event to empty the queue in CsrReadInputEvent. ([[Hartmut Birr]])
 +
 +
[[ChangeLog-0.2.6]]
 +
 +
The changelog for 0.2.6 in terms meaningful to technical end-users.
 +
 +
== Generic ==
 +
* NVIDIA OpenGL hardware acceleration works ([[Gregor Anich]])
 +
* Created NCITool for generating system call database files.  ([[Alex Ionescu]])
 +
* Created and enabled the OPTIMIZED Build, which is significantly faster than a non-OPTIMIZED ones. Fixed all the bugs which caused the optimized build not to work. Thanks to Thomas as well.  ([[Alex Ionescu]])
 +
 +
== FREELDR ==
 +
* Rewrote Freeloader to use PE-Loading and relocation of NTOSKRNL instead of multiboot. This enables the Kernel to be loaded dynamically either at a 2GB or 3GB boundary, just like on NT.  ([[Alex Ionescu]])
 +
* Added dynamic ACPI Support. Fixed by Filip Navara as well.  ([[Alex Ionescu]])
 +
 +
== HAL ==
 +
== NTOSKRNL ==
 +
* Rewritten Kernel Debugger ([[Gregor Anich]])
 +
* Fix KeRaiseUserException ([[Alex Ionescu]])
 +
* Fixed kernel source code for future W32API compatibility ([[Alex Ionescu]])
 +
* Removed /nt directory in source code and put its contents in the respective proper place instead. ([[Alex Ionescu]])
 +
* Added support for SYSENTER instruction instead of INT2E. Results in up to 80% synthetic speed improvement (ROS will feel about 1.5-2x faster on VMWare/Real Hardware) ([[Alex Ionescu]])
 +
* Fixed some APC problems which blocked certain apps from working. ([[Alex Ionescu]])
 +
* Rewrote Timer Implementation. More features and stability were added. The structures were modified to match the NT ones. ([[Alex Ionescu]])
 +
* Rewrote Dispatcher and Queue functions to fix some bugs and optimize the code.  ([[Alex Ionescu]])
 +
* Sped up some Dispatcher functions. ([[Alex Ionescu]])
 +
* Fixed Mutant/Mutex bugs and added some missing functionality. ([[Alex Ionescu]])
 +
* Fixed Event bugs to use locks and proper signaling semantics. ([[Alex Ionescu]])
 +
* Fixed Semaphore bugs during exception and release. ([[Alex Ionescu]])
 +
* Removed Thread Event Pairs and added KeInitializeEventPair. ([[Alex Ionescu]])
 +
* Rewrote Work Items, supporting the NT structures, allowing for Dynamic Work Items to be implemented.
 +
* Added priority boosting during wait operations and thread scheduling. This should make things a bit more responsive. ([[Alex Ionescu]])
 +
* Rewrote Thread/Process Termination. Fixed Thread/Set get context, made some broken regression tests work, allowed Task Manager to kill processes, and removed APC hacks. Thanks to Thomas and Filip for having fixed some of the issues which this patch brought. ([[Alex Ionescu]])
 +
* Sped up thread termination by using a more optimized Reaper/TerminationPort link and syncornizing with NT's. ([[Alex Ionescu]])
 +
* Properly initialize Threaded DPCs ([[Alex Ionescu]])
 +
* Fix leak in IO Completion IRPs not being freed. ([[Alex Ionescu]])
 +
* Implemented KeRemoveServiceDescriptorTable, KeAlertResumeThread, NtAlertResumeThread, KeGetREcommendedSharedDataAlignment, NtRaiseHardError and KeRegister/DeregisterBugcheckWithReason. ([[Alex Ionescu]])
 +
* Sped up bootup by caching the loaded modules and command line settings. ([[Alex Ionescu]])
 +
* Rewrote Profile Object Implementation to work as on Windows. ([[Alex Ionescu]])
 +
* Added dynamic ACPI Support. Fixed by Filip Navara as well. ([[Alex Ionescu]])
 +
* Rewrote bug check code. Bugchecks are now much friendlier for the user, and actually work all the time without looping or becoming garbled/unavailable. Callbacks are called and IPI works on SMP when a bug check happens. ([[Alex Ionescu]])
 +
 +
 +
== ATAPI ==
 +
* Works now with HDDs larger than 128 GB
 +
 +
== ADVAPI32 ==
 +
== KERNEL32 ==
 +
* Rewrote ROS Critical Section implementation. Newer one is more complete, faster, and supports debug information. Thanks to Gunnar as well. ([[Alex Ionescu]])
 +
 +
== PSAPI ==
 +
== CRTDLL ==
 +
* Most old stuff deleted. Now share source with msvcrt via crt.lib
 +
 +
== MSVCRT ==
 +
* Everything moved into crt.lib
 +
 +
== VFAT ==
 +
== WIN32K ==
 +
* Implement NtGdiDdGetDriverInfo and NtGdiDdWaitForVerticalBlank for directx. Untested yet. ([[Magnus Olsen]])
 +
 +
== Networking ==
 +
* FTP Client ported from BSD ([[Steven Edwards]])
 +
* Tracert Client ported from BSD ([[Steven Edwards]])
 +
 +
== NDIS ==
 +
== PCNET ==
 +
== EXPLORER/WINEFILE ==
 +
 +
* support for owner drawn context menus ([[Martin Fuchs]])
 +
* changed icon symbols
 +
 +
== IBROWSER ==
 +
 +
* added simple web browser application derived from ROS Explorer ([[Martin Fuchs]])
 +
* simple file -> open menu ([[Steven Edwards]])
 +
 +
== DirectX ==
 +
* fix some bugs in GetDeviceData so it's working now.
 +
 +
* It's working now in Unreal Tournament
 +
 +
* Bug fix from 0.2.6 RC1 was
 +
1. The Y-axis are not longer choppy
 +
 +
2. The mouse does not have a delay at 50ms as Directx doc say.
 +
it makes it no longer choppy.
 +
 +
3. Set right time stamp on the mouse buffer packet
 +
 +
4. Set calaction right value for event counter for GetDevice
 +
50ms equal with one event counter.
 +
 +
* Now even more DirectX apps working.
 +
([[Magnus Olsen]]).
 +
 +
== Libraries shared with Wine ==
 +
More merging
 +
* Better OLE/DCOM Support
 +
* MSI/Windows Installer support
 +
* Richedit Support
 +
* Tons of Unicode conversion
 +
 +
== SMSS ==
 +
 +
* Session manager actually beginning manage environment subsystems.
 +
* Progress in booting kernel mode and user mode environment subsystem from the registry.
 +
 +
== CSRSS ==
 +
 +
* Initial code to register itself in the SM as the environment subsystem server for Win32 console programs.

Revision as of 06:11, 17 March 2012

http://svn.reactos.org/svn/reactos/trunk/reactos/subsystems/win32/csrss/?view=log

ChangeLog-0.0.16

  • Console handling moved to CSRSS
  • Whole new win32 console support, with multiple virtual consoles and scrollback support

ChangeLog-0.0.17

  • New console client support

ChangeLog-0.0.21

ChangeLog-0.1.0

  • CSRSS: Implemented ReadConsoleOutputA() and WriteConsoleInputA() (Marty Dill)

ChangeLog-0.1.1

  • Csrss: More Console functions implemented, others improved (Hartmut Birr)

ChangeLog-0.2.0

ChangeLog-0.2.1

  • Use ScrollWindowEx for scrolling text in console (Filip Navara)
  • Move call to PrivateCsrssManualGuiCheck to before the creation of window classes (Gé van Geldorp)
  • Fixed shift handling code that caused bug 193 (Art Yerkes)
  • Initialize/delete the lock of a screen buffer (Hartmut Birr)

ChangeLog-0.2.2

ChangeLog-0.2.3

  • GuiConsoleUpdateBitmap ignores the color attribute of the first character in line, instead it takes the attribute of the last character of the previous line (Ge van Geldorp, Tonik)
  • Clean up calls from win32k to csrss (Ge van Geldorp)

ChangeLog-0.2.4

  • Cleanup buffer allocation in some console functions. (Filip Navara)
  • Always use non-antialiased font for consoles. (Filip Navara)
  • Minor correction to multibyte character conversion for GUI consoles. (Filip Navara)
  • Support for non-ENABLE_PROCESSED_OUTPUT and non-ENABLE_WRAP_AT_EOL_OUTPUT modes in ConioWriteConsole. (Filip Navara)
  • Other minor fixes to get Wine Kernel32 Console test working. (Filip Navara)
  • Complete rewrite of environment variable handling to get rid of memory leaks, heap corruption and spurious pointers. (Filip Navara)
  • Fix input peeking in CSRSS to not return fake events. (Filip Navara)
  • Fixed NumLock, CapsLock and ScrollLock handling in ConioGetShiftState. (Filip Navara)
  • Fixed the back-space-handling in ConioWriteConsole. (Hartmut Birr)
  • Allow selection of text in gui consoles. (Thomas Weidenmueller)
  • use WM_NOTIFY to communicate with the desktop window thread. (Thomas Weidenmueller)

ChangeLog-0.2.5

  • Implemented waitable console handles. - (Hartmut Birr)
  • Removed a fake event after a input event to empty the queue in CsrReadInputEvent. (Hartmut Birr)

ChangeLog-0.2.6

The changelog for 0.2.6 in terms meaningful to technical end-users.

Generic

  • NVIDIA OpenGL hardware acceleration works (Gregor Anich)
  • Created NCITool for generating system call database files. (Alex Ionescu)
  • Created and enabled the OPTIMIZED Build, which is significantly faster than a non-OPTIMIZED ones. Fixed all the bugs which caused the optimized build not to work. Thanks to Thomas as well. (Alex Ionescu)

FREELDR

  • Rewrote Freeloader to use PE-Loading and relocation of NTOSKRNL instead of multiboot. This enables the Kernel to be loaded dynamically either at a 2GB or 3GB boundary, just like on NT. (Alex Ionescu)
  • Added dynamic ACPI Support. Fixed by Filip Navara as well. (Alex Ionescu)

HAL

NTOSKRNL

  • Rewritten Kernel Debugger (Gregor Anich)
  • Fix KeRaiseUserException (Alex Ionescu)
  • Fixed kernel source code for future W32API compatibility (Alex Ionescu)
  • Removed /nt directory in source code and put its contents in the respective proper place instead. (Alex Ionescu)
  • Added support for SYSENTER instruction instead of INT2E. Results in up to 80% synthetic speed improvement (ROS will feel about 1.5-2x faster on VMWare/Real Hardware) (Alex Ionescu)
  • Fixed some APC problems which blocked certain apps from working. (Alex Ionescu)
  • Rewrote Timer Implementation. More features and stability were added. The structures were modified to match the NT ones. (Alex Ionescu)
  • Rewrote Dispatcher and Queue functions to fix some bugs and optimize the code. (Alex Ionescu)
  • Sped up some Dispatcher functions. (Alex Ionescu)
  • Fixed Mutant/Mutex bugs and added some missing functionality. (Alex Ionescu)
  • Fixed Event bugs to use locks and proper signaling semantics. (Alex Ionescu)
  • Fixed Semaphore bugs during exception and release. (Alex Ionescu)
  • Removed Thread Event Pairs and added KeInitializeEventPair. (Alex Ionescu)
  • Rewrote Work Items, supporting the NT structures, allowing for Dynamic Work Items to be implemented.
  • Added priority boosting during wait operations and thread scheduling. This should make things a bit more responsive. (Alex Ionescu)
  • Rewrote Thread/Process Termination. Fixed Thread/Set get context, made some broken regression tests work, allowed Task Manager to kill processes, and removed APC hacks. Thanks to Thomas and Filip for having fixed some of the issues which this patch brought. (Alex Ionescu)
  • Sped up thread termination by using a more optimized Reaper/TerminationPort link and syncornizing with NT's. (Alex Ionescu)
  • Properly initialize Threaded DPCs (Alex Ionescu)
  • Fix leak in IO Completion IRPs not being freed. (Alex Ionescu)
  • Implemented KeRemoveServiceDescriptorTable, KeAlertResumeThread, NtAlertResumeThread, KeGetREcommendedSharedDataAlignment, NtRaiseHardError and KeRegister/DeregisterBugcheckWithReason. (Alex Ionescu)
  • Sped up bootup by caching the loaded modules and command line settings. (Alex Ionescu)
  • Rewrote Profile Object Implementation to work as on Windows. (Alex Ionescu)
  • Added dynamic ACPI Support. Fixed by Filip Navara as well. (Alex Ionescu)
  • Rewrote bug check code. Bugchecks are now much friendlier for the user, and actually work all the time without looping or becoming garbled/unavailable. Callbacks are called and IPI works on SMP when a bug check happens. (Alex Ionescu)


ATAPI

  • Works now with HDDs larger than 128 GB

ADVAPI32

KERNEL32

  • Rewrote ROS Critical Section implementation. Newer one is more complete, faster, and supports debug information. Thanks to Gunnar as well. (Alex Ionescu)

PSAPI

CRTDLL

  • Most old stuff deleted. Now share source with msvcrt via crt.lib

MSVCRT

  • Everything moved into crt.lib

VFAT

WIN32K

  • Implement NtGdiDdGetDriverInfo and NtGdiDdWaitForVerticalBlank for directx. Untested yet. (Magnus Olsen)

Networking

NDIS

PCNET

EXPLORER/WINEFILE

  • support for owner drawn context menus (Martin Fuchs)
  • changed icon symbols

IBROWSER

DirectX

  • fix some bugs in GetDeviceData so it's working now.
  • It's working now in Unreal Tournament
  • Bug fix from 0.2.6 RC1 was

1. The Y-axis are not longer choppy

2. The mouse does not have a delay at 50ms as Directx doc say. it makes it no longer choppy.

3. Set right time stamp on the mouse buffer packet

4. Set calaction right value for event counter for GetDevice 50ms equal with one event counter.

  • Now even more DirectX apps working.

(Magnus Olsen).

Libraries shared with Wine

More merging

  • Better OLE/DCOM Support
  • MSI/Windows Installer support
  • Richedit Support
  • Tons of Unicode conversion

SMSS

  • Session manager actually beginning manage environment subsystems.
  • Progress in booting kernel mode and user mode environment subsystem from the registry.

CSRSS

  • Initial code to register itself in the SM as the environment subsystem server for Win32 console programs.