From ReactOS Wiki
Jump to: navigation, search


  • Set the previous pointer from the next block, if some blocks was merged (in add_to_free_list) (Hartmut Birr)
  • Free or recycle the remaining path string after a call to ObFindObject (Hartmut Birr)
  • Lock the pages always in MmProbeAndLockPages (Hartmut Birr)
  • Locked the pages in MmCommitPagedPoolAddress, if it is necessary (Hartmut Birr)
  • Marked a cache segment as page out in progress to prevent from recursive calls to MmPageOutPhysicalAddress; fixed bug 220 (Hartmut Birr)
  • Protected the callback stack list with a spinlock (Hartmut Birr)
  • Made it possible to allocate a pageop only if no other pageop for the given address exists (Hartmut Birr)
  • Try to pageout a page only if no other access to the page exist (Hartmut Birr)
  • Gave a free page only to the next waiting request (in MmReleasePageMemoryConsumer), if sufficient free pages are available (Hartmut Birr)
  • Initialized the object tag to prevent the tag 0xcccccccc (Hartmut Birr)
  • Removed dirty loading of symbol files from ExpInitializeExecutive (Hartmut Birr)
  • Fixed the loading of symbol files (Hartmut Birr)
  • Try to avoid crashing when dumping out a corrupted stack (David Welch)
  • Avoid a crashing when trying to process an exception early in the boot process (David Welch)
  • Use an event rather than a semaphore to wake up the thread that writes debug output to disk (David Welch)
  • Added basic tracing, breakpoints and disassembly to the kernel debugger (David Welch)
  • Added disassembler from gdb (David Welch)
  • Record feature information from cpuid (David Welch)
  • Fixed bug with recalling previous input (David Welch)
  • Switch back to text mode when entering the debugger (David Welch)
  • Fixed whole page allocations since the handle table code now relies on allocations being eight byte aligned (David Welch)
  • Fix reading past the end of the pool block (David Welch)
  • Fix key name size calculation bugs (Eric Kohl)
  • Fix NtOpenThreadToken() and NtSetInformationThread() (Eric Kohl)
  • Clean-up NtQueryInformationToken() (Eric Kohl)
  • Fully implement RtlFormatCurrentUserKeyPath() (Eric Kohl)
  • Fixed crashes that were cause by the changes to the service parameter table (Eric Kohl)
  • Work on thread-awareness in gdbstub (Ge van Geldorp)
  • Make IoGetDeviceInterfaces more compatible with the native version (Matthew Brace)
  • Hardcode build number consistent with major/minor version (NVidia driver requires this) (Ge van Geldorp)
  • Tell apps we're NT4 SP6, VB runtime will fail if we report SP0 (Ge van Geldorp)
  • Allow GDB 6 to backtrace over a syscall (Ge van Geldorp)
  • Disable pool validation since it slows down execution too much (Ge van Geldorp)
  • Locale values are specified in hexadecimal numbers (Filip Navara)
  • Corrected EiAllocatePool prototype (Filip Navara)
  • Fixed RtlNtStatusToDosErrorNoTeb (Filip Navara)
  • Removed the incorrect implementations of Device Interface functions (Filip Navara)
  • Don't zero memory allocated by ExAllocatePool (Filip Navara)
  • Fixed RtlFormatCurrentUserKeyPath and it's use (Filip Navara)
  • Fill correctly all members of the returned device object in IoCreateDevice (Filip Navara)
  • Don't bug check in loader when export isn't found, only report it and don't load the module (Filip Navara)
  • If we know a module path while loading, use it for searching for the import modules (Filip Navara)
  • Modified LdrpBuildModuleBaseName to not strip the extension from file name (Filip Navara)
  • Call create process notify routines from NtCreateProcess (Filip Navara)
  • Started PsSetLoadImageNotifyRoutine implementation, it just registers the callback, but doesn't call it (Filip Navara)
  • Fixed querying of thread locale (Filip Navara)
  • Implemented IoGetDriverObjectExtension and IoAllocateDriverObjectExtension (Filip Navara)
  • Don't load PnP drivers if they're disabled (Filip Navara)
  • Save pointer to PnP tree device node in device object's DeviceObjectExtension (Filip Navara)
  • Add function IopGetDeviceNode for getting device node from device object pointer (Filip Navara)
  • Rewritten IoGetDeviceProperty to use values that are in device node instead of sending Irps (Filip Navara)
  • Lower IRQL in error case of IoAllocateDriverObjectExtension (Filip Navara)
  • Support for upper level filter drivers (Filip Navara)
  • Rewritten some driver loading functions to get higher control of the driver loading and initialization process, fixes bug #263 (Filip Navara)
  • Added support for lower level filter drivers (Filip Navara)
  • Minor cleanup and fixed few memory leaks on driver unload (Filip Navara)
  • Fixed a minor bug in IopLoadServiceModule that caused crashes for disabled drivers (Filip Navara)
  • Don't bugcheck if FDO wasn't attached (Filip Navara)
  • Fixed cygwin fork section map problem, this fixes map_dup_inherit (Art Yerkes, David Welch)
  • MmMapLockedPages patch (Gregor Anich)
  • Initialize LPC-related fields in ETHREAD (Emanuele Aliberti)
  • Finish off NtDuplicateToken (Jason Filby)




  • Create a logon token and use it to start the shell process (Eric Kohl)
  • Load user profile and create user environment upon user logon (Eric Kohl)
  • Added basic SAS window, some other modifications (Thomas Weidenmueller)


  • Implemented LsaFreeMemory (Steven Edwards)
  • LogonUserW(): Fix key name (Eric Kohl)
  • Implement ImpersonateLoggedOnUser() (Eric Kohl)
  • Fix bugs in RegQueryValueExA() and RegQueryValueExW() that caused crashes or returned bogus information (Eric Kohl)


  • ReactOS implementation of cancel-safe queue library (Vizzini)




  • Porting work from WINE (Art Yerkes)
  • Working interface list, getting route table (Art Yerkes)
  • Correct route table (Art Yerkes)
  • Route add and route delete now work on real windows with our iphlpapi (Art Yerkes)





  • Patch to get Microsoft Paint closer to working (Michael Fritscher)
  • Handle characters outside first page (Ge van Geldorp)
  • Handle invalid Unicode strings for %S format like MS does (Ge van Geldorp)


  • Fixed a bug in AppendUnicodeStringToString which could cause a null to be placed one position after the end of a completely full string (Art Yerkes)
  • Corrected processing import directories to handle case when executable imports (Filip Navara)
  • Split LdrpProcessImportDirectory into LdrpProcessImportDirectory and to process all entries with the same name (Hartmut Birr)
  • RtlGetFullPathName_U() is supposed to check the parameter buff, it could be NULL (Thomas Weidenmueller)
  • Enable environment inheritance (Eric Kohl)
  • Implemented RtlCreateCriticalSectionSpinCount (Gunnar Dalsnes)





  • Fix buffer length usage for RegQueryValueW() calls at various places (Martin Fuchs)
  • New cmdlen parameter for SHELL_FindExecutablebyOperation() (Martin Fuchs)
  • New result buffer length parameter for SHELL_FindExecutable() (Martin Fuchs)
  • Replace WINE specifiy system tray implementation by a WIN32 compatible implementation (Martin Fuchs)
  • use alloca() to pass NOTIFYICONDATA structures of any size (Martin Fuchs)
  • Fixed bounds checking in SHELL_GetPathFromIDListA/W() (Martin Fuchs)



  • Complete user profile creation (Eric Kohl)
  • Implement LoadUserProfileW() and UnloadUserProfile() (Eric Kohl)
  • Implement GetUserProfileDirectoryW() (Eric Kohl)
  • Flush the new user hive after copying (Eric Kohl)
  • Simplify LoadUserProfileW() and check for loaded profile (Eric Kohl)
  • Implement CreateEnvironmentBlock() and DestroyEnvironmentBlock() (Eric Kohl)
  • Set user-specific environment variables (Eric Kohl)





  • Changed the video mode setting to directly program the VGA registers instead of using Ke386CallBios (Filip Navara)
  • Properly map the video memory (Filip Navara)



  • Rewrote parts of the capability detection code (Hartmut Birr)


  • Wait a little between retries, fixes bug #106 (Ge van Geldorp)
  • Don't retry, if the request fails with SRB_STATUS_INVALID_REQUEST (Hartmut Birr)
  • Pre initialized the resulting transfer length for requests which are split (Hartmut Birr)
  • Added MediaChangeNoMedia on/off (Jim Tabor)



  • First import of in-progress floppy driver replacement (Vizzini)
  • Properly set the length of the transfer so FastFat won't assert on us (Vizzini)
  • Implement support for split DMA transfers (Vizzini)
  • Fixed an off-by-one bug for sector calculation (Vizzini)
  • Fixed CHS computation bug (Vizzini)
  • Added arc path support (Vizzini)
  • Fixed some start/stop motor timing bugs (Vizzini)
  • Figured out the Real Deal with Model 30 support (Vizzini)
  • Fixed two race conditions with motor power-off; now handles disk change detection (Vizzini)
  • Turn off skip bit to support VMWare FDC (Vizzini)


  • Support for IRP_MN_QUERY_BUS_INFORMATION and devices on multiple PCI buses (Filip Navara)
  • Fixed handling of IRP_MN_QUERY_BUS_INFORMATION (Filip Navara)


  • Corrected timeouts to really wait one millisecond (Filip Navara)


  • Implemented ScsiPortGetPhysicalAddress for Srb buffers (Hartmut Birr)
  • Fixed the initializing of the access ranges (Hartmut Birr)
  • Rewrote the code which handles processing of irp's and notifications from miniport (Hartmut Birr)
  • Changes to make AHA-2940 detect devices (Eric Kohl)
  • Added allocation of SrbExtension (Filip Navara)


  • Fixed some address calculations (Filip Navara)
  • If there is an out-of-resources situation, don't transmit the datagram out of order (Casper Hornstrup)
  • Implementation of various listening, segment and receiving functions (Casper Hornstrup)
  • Support asynchronous operation (Casper Hornstrup)
  • Partially implement support for TDI_QUERY_ADDRESS_INFO request (Filip Navara)
  • More support for IOCTL_TCP_QUERY/SET_INFORMATION_EX (Art Yerkes)
  • Added TDI entity for interfaces (Art Yerkes)
  • Fixed IPSnmpInfo interface number report (Art Yerkes)
  • Fixed returned buffer size report in DispTdiQueryInformationExComplete (Art Yerkes)
  • Added bit counting and inverting functions to address (Art Yerkes)
  • Added setting of netmask in datalink/lan.c from the registry (Art Yerkes)
  • Added routines for collecting functions about interfaces (Art Yerkes)
  • Added routines for collecting functions about prefixes (Art Yerkes)
  • Allow a correct response to get us into TCPiReceiveSynSent (Art Yerkes)


  • Fixed initalization of VIDEO_HW_INITIALIZATION_DATA (Filip Navara)


  • Started implementation of VideoPortGetVgaStatus (Jim Tabor)
  • Started VideoPortGetAgpServices, Allocate and ReleaseBuffer (Jim Tabor)
  • Change NonPagedPool for AllocateBuffer and implemented GetVersion (Jim Tabor)
  • Implemented VideoPortEnableInterrupt and VideoPortDisableInterrupt (Filip Navara)
  • Implemented VideoPortQueryPerformanceCounter and all video port spinlock functions (Filip Navara)
  • Fixed bug in VideoPortSetBusData (Filip Navara)
  • Started work on converting the VideoPort driver to PnP model (Filip Navara)
  • Fixed return value in VidDispatchDeviceControl (Filip Navara)
  • Get back the attaching to CSRSS working (Filip Navara)
  • Get the basic support for NT4 legacy drivers working (Filip Navara)
  • Implemented handling of cleanup IRP (Filip Navara)
  • Fixed VideoPortGetAccessRanges to work more correctly with W2K+ drivers (Filip Navara)
  • Fixed releasing of display ownership (Filip Navara)
  • Added an implemention of VideoPortGetProcAddress (David Welch)
  • ati2mtag calls VideoPortGetAccessRanges with *DeviceId == 0 so treat that as matching an device id (David Welch)
  • Initial implementation of some DMA related functions (David Welch)
  • Implemented EngSaveFloatingPointState and EngRestoreFloatingState (David Welch)
  • Complete the irp even on an error (David Welch)


  • Fix for crash on gui exit caused by trying to free an uninitialized variable (David Welch)
  • Use the miniport services to map the frame buffer (David Welch)


  • Changed Video Mode setting routines to directly modify VGA registers instead of relying on Int 0x10 services (Filip Navara)
  • Reenable the screen after setting the mode (David Welch)


  • Spinlock can also be acquired using KeAcquireSpinLockRaiseToSynch() (Ge van Geldorp)


  • First version of web control embedding (Martin Fuchs)
  • Toolbars to control web browser (Martin Fuchs)
  • Desktop switching (Martin Fuchs)
  • Japanese resource (Masahiro Taguchi)
  • Better window sizing (Martin Fuchs)
  • Better foreground window handling (VCL applications had problems) (Martin Fuchs)
  • Re-show all hidden windows at explorer termination (Martin Fuchs)
  • Support for context windows used by winefile (Martin Fuchs)
  • First draft of a lean explorer version (SDI interface) (Martin Fuchs)
  • Keyboard navigation in start menu (Martin Fuchs)
  • Resize taskbar buttons according to number of running applications (Martin Fuchs)
  • Rebar control for desktop bar, cabinet window (Martin Fuchs)
  • Implemented 'minimize all' feature (Martin Fuchs)
  • Add opened files to the "recent documents" list (Martin Fuchs)
  • Tool tip texts for notification icons (Martin Fuchs)
  • French translation for some start menu entries (Gge)
  • Implementation of volume control tray icon (Martin Fuchs)
  • Launch sound control panel applet (Martin Fuchs)
  • Auto-hiding of inactive notification icons (Martin Fuchs)
  • Storage of configuration settings in user specific XML file (Martin Fuchs)
  • Use the new built expat library for explorer (Martin Fuchs)
  • Implemented UTF-8 conversion for XML, smart XML formatting (Martin Fuchs)
  • Import IE bookmarks and convert into XBEL format bookmark file (Martin Fuchs)
  • Display bookmarks in sidebar (Martin Fuchs)
  • First version of Explorer NotifyHook DLL (Martin Fuchs)
  • Fixed foreground window handling when clicking on notification area icons (Martin Fuchs)
  • Fixed taksbar icons after closing previous applications (Martin Fuchs)
  • Fixed several GDI handle leaks (Martin Fuchs)
  • Fixed bug #224 (Martin Fuchs)