Difference between revisions of "Missing ReactOS Functionality"

From ReactOS Wiki
Jump to: navigation, search
m (Reverted edits by Sh4ring4n (Talk) to last revision by Opcode0x90)
(Kernel features)
 
(98 intermediate revisions by 23 users not shown)
Line 1: Line 1:
This page contains a list of APIs, COM interfaces, drivers, application, extensions or other functionality that Windows has but ReactOS does not. There are other similar pages in this wiki that might help, e.g. [[Version Status]], [[Community Funded Ideas]] and [[Roadmap]]. This page is intended as a list of general tasks that need to be done in ReactOS. If a certain component already exists, consider filing a bug report.
+
This page contains a list of APIs, COM interfaces, drivers, application, extensions or other functionality that Windows has but ReactOS does not. There are other similar pages in this wiki that might help, e.g. [[Version Status]] and [[Roadmap]]. This page is intended as a list of general tasks that need to be done in ReactOS. If a certain component already exists, consider filing a bug report.
 +
 
 +
Statuses: <span style="color:orange">''planned''</span>, <span style="color:green">'''implementation started'''</span>, <span style="color:red"><s>implementation finished</s></span>.
  
 
== General ==
 
== General ==
* Drag and drop: {{bug|4073}}
+
* Boot from non-primary/logical/secondary partition; Boot from [http://jira.reactos.org/browse/CORE-7378 some primary partitions]
* WMI http://msdn.microsoft.com/en-us/library/aa394582%28VS.85%29.aspx
+
* [[ReactOS Update|Automatic Updates]]
* Diskpart http://support.microsoft.com/kb/300415 (command line partitioning tool)
+
* <span style="color:red"><s>Search</s></span> [https://reactos.org/wiki/ReactOS_Search]
* Disk Defragmenter http://msdn.microsoft.com/en-us/library/aa363911%28VS.85%29.aspx
+
* <span style="color:green">'''[[Login System|User Login]]'''</span>
* Use Event Tracing!!! http://www.microsoft.com/whdc/devtools/tools/EventTracing.mspx (turn debug channels into event channels??)
+
* WMI [https://msdn.microsoft.com/en-us/library/aa394582%28VS.85%29.aspx]
 +
* <span style="color:green">'''Diskpart'''</span> [https://support.microsoft.com/kb/300415] (command line partitioning tool)
 +
* <span style="color:green">'''Disk Defragmenter'''</span> ([http://jira.reactos.org/browse/ROSAPPS-332 ROSAPPS-332]) [http://msdn.microsoft.com/en-us/library/aa363911%28VS.85%29.aspx]
 +
* Use Event Tracing [https://web.archive.org/web/20121010014445/http://msdn.microsoft.com/en-us/windows/hardware/gg487334.aspx] (turn debug channels into event channels??)
 
* Hibernation support
 
* Hibernation support
* LSASS http://technet.microsoft.com/en-us/library/cc961760.aspx
+
* LSASS [https://technet.microsoft.com/en-us/library/cc961760.aspx]
* Multi user support
+
* <span style="color:green">'''Multi user support'''</span>
 
* Multi session support
 
* Multi session support
 
* Fast User Switching
 
* Fast User Switching
* LDAP/ActiveDirectory http://msdn.microsoft.com/en-us/library/cc223122.aspx
+
* LDAP/ActiveDirectory [https://msdn.microsoft.com/en-us/library/cc223122.aspx]
* TCP/IP Traffic Shaping/Scheduling
+
* <span style="color:green">'''Task Scheduler'''</span>
* Task Scheduler
+
* <span style="color:green">'''[[Printing]]'''</span>
* [[Printing]]
+
* <span style="color:green">'''HTML Applications'''</span> [https://msdn.microsoft.com/en-us/library/ms536496(VS.85).aspx] – HTML files with a .hta extension that run as Windows Applications using the MSHTML (IE) Engine – see {{JIRA|12813}}
* HTML Applications - HTML files with a .hta extension that run as Windows Applications using the MSHTML (IE) Engine - http://msdn.microsoft.com/en-us/library/ms536496(VS.85).aspx
+
* Animated Mouse Cursors ({{JIRA|14166}})
* Active Desktop http://en.wikipedia.org/wiki/Active_Desktop (who really wants this again?)
+
* Security Support Provider Interface (and the MS provided default packages) [https://msdn.microsoft.com/en-us/library/aa380493%28v=vs.85%29.aspx]
* Animated Mouse Cursors
+
* <span style="color:green">'''[[File Systems#NTFS|NTFS]]'''</span>
* Security Support Provider Interface (and the MS provided default packages) http://msdn.microsoft.com/en-us/library/aa380493%28v=vs.85%29.aspx
+
* <span style="color:green">'''WOWEXEC'''</span> to run older Windows applications, based on 16 bit code. (A partial implementation of NTVDM exists.  ''Aside:'' There are no "free" compilers for 16bit Windows NE style code as of 2018).
  
 
== Win32 features ==
 
== Win32 features ==
 
* [[ReactOS Terminal Services|Terminal Server]]
 
* [[ReactOS Terminal Services|Terminal Server]]
** Wtsapi32.dll/ Mstlsapi.dll http://msdn.microsoft.com/en-us/library/aa383468(VS.85).aspx
+
** Wtsapi32.dll/ Mstlsapi.dll [https://msdn.microsoft.com/en-us/library/aa383468(VS.85).aspx]
* shdocvw http://www.geoffchappell.com/viewer.htm?doc=studies/windows/ie/shdocvw/index.htm&tx=17
+
* <span style="color:green">'''shdocvw'''</span> [https://www.geoffchappell.com/viewer.htm?doc=studies/windows/ie/shdocvw/index.htm&tx=17]
* browseui http://www.geoffchappell.com/viewer.htm?doc=studies/windows/ie/browseui/history/index.htm
+
* <span style="color:green">'''browseui'''</span> [https://www.geoffchappell.com/viewer.htm?doc=studies/windows/ie/browseui/history/index.htm]
* Global hooks
 
  
 
=== Introduced in Windows NT ===
 
=== Introduced in Windows NT ===
* NT-based CHKDSK http://technet.microsoft.com/en-us/library/bb491051.aspx
+
* NT-based <span style="color:green">'''CHKDSK'''</span> [https://technet.microsoft.com/en-us/library/bb491051.aspx]
* Speech Application Programming Interface (SAPI) http://www.microsoft.com/speech/default.aspx
+
* <span style="color:green">'''Dr. Watson'''</span> [[User:Petr-akhlamov/Crash Reports|'''[i]''']]
  
 
=== Introduced in Windows 98 ===
 
=== Introduced in Windows 98 ===
*System File Checker http://support.microsoft.com/?scid=kb%3Ben-us%3B310747&x=13&y=11
+
* System File Checker [https://web.archive.org/web/20141106212214/http://support2.microsoft.com/kb/310747] (nice, but not absolutely needed)
 +
 
 +
=== Introduced in Windows ME ===
 +
*System Restore [https://web.archive.org/web/20100304235609/http://msdn.microsoft.com/en-us/library/ms811705.aspx]
  
 
=== Introduced in Windows 2000 ===
 
=== Introduced in Windows 2000 ===
* Windows File Protection http://support.microsoft.com/kb/222193/en-us
+
* Windows File Protection [https://support.microsoft.com/kb/222193/en-us]
* Layered windows http://msdn.microsoft.com/en-us/library/ms997507.aspx - see {{Bug|1691}}
+
* <span style="color:green">'''Layered windows'''</span> [https://reactos.org/node/870 '''[i]'''] [https://msdn.microsoft.com/en-us/library/ms997507.aspx] – see {{Bug|1576|jira}}
* ClearType http://www.microsoft.com/typography/WhatIsClearType.mspx
+
* Data Protection API (required for IE 7+) [https://msdn.microsoft.com/en-us/library/ms995355.aspx]
* Data Protection API (required for IE 7+) http://msdn.microsoft.com/en-us/library/ms995355.aspx
+
* WebDAV [[wikipedia:WebDAV]]
 
 
=== Introduced in Windows ME ===
 
*System Restore http://msdn.microsoft.com/en-us/library/ms811705.aspx
 
  
 
=== Introduced in Windows XP ===
 
=== Introduced in Windows XP ===
 
* Image Mastering API (needed for many cd writing applications)
 
* Image Mastering API (needed for many cd writing applications)
* Window ghosting (A window manager feature that lets the user minimize, move, or close the main window of an application that is not responding)
+
* <span style="color:green">'''Window ghosting'''</span>(A window manager feature that lets the user minimize, move, or close the main window of an application that is not responding) – see {{JIRA|11944}}
* Visual Styles http://msdn.microsoft.com/en-us/library/bb773187(VS.85).aspx
+
* System Optional Components Manager (sysocmgr.exe)
* Error Reporting http://msdn.microsoft.com/en-us/library/bb513636(VS.85).aspx (Would be tremendously helpful to development)
+
* <span style="color:green">'''Error Reporting'''</span> [https://msdn.microsoft.com/en-us/library/bb513636(VS.85).aspx] (Would be tremendously helpful to development) ({{JIRA|8269}})
* [[MUI]] Support http://msdn.microsoft.com/en-us/goglobal/dd218459.aspx
+
* <span style="color:green">'''[[MUI]] Support'''</span> [https://msdn.microsoft.com/en-us/goglobal/dd218459.aspx] (An alternative is worked on by Stefan Fulea- see {{JIRA|10335}})
* Application Compatibility http://technet.microsoft.com/ru-ru/library/cc736503(WS.10).aspx
+
* <span style="color:green">'''Application Compatibility'''</span> [http://technet.microsoft.com/ru-ru/library/cc736503(WS.10).aspx] [[User:Petr-akhlamov/Compatibility_mode|'''[i]''']]
* Prefetching http://www.microsoft.com/whdc/archive/XP_kernel.mspx#E3KAC
+
* Background Intelligent Transfer Service (BITS) [http://msdn.microsoft.com/en-us/library/bb968799.aspx] (optional, stuff that would be nice to have)
* Background Intelligent Transfer Service (BITS) http://msdn.microsoft.com/en-us/library/bb968799.aspx (optional, stuff that would be nice to have)
+
* VirtualWiFi architecture [https://www.microsoft.com/en-us/research/project/virtualwifi/]
 
 
=== Introduced in Windows XP x64, Windows Server 2003 ===
 
* Data Execution Prevention (DEP) http://msdn.microsoft.com/en-us/library/aa366553(VS.85).aspx
 
* Kernel Patch Protection (KPP) aka PatchGuard http://www.microsoft.com/whdc/driver/kernel/64bitpatch_FAQ.mspx
 
  
 
=== Introduced in Windows Vista ===
 
=== Introduced in Windows Vista ===
* User Interface Privilege Isolation (UIPI) see: ChangeWindowMessageFilter  
+
* User Interface Privilege Isolation (UIPI) see: ChangeWindowMessageFilter
* User Account Control (UAC) http://technet.microsoft.com/en-us/library/cc709628(WS.10).aspx
+
* User Account Control (UAC) [https://technet.microsoft.com/en-us/library/cc709628(WS.10).aspx]
* ReadyBoost http://windows.microsoft.com/en-US/windows-vista/Using-memory-in-your-storage-device-to-speed-up-your-computer
+
* Component-Based Servicing (CBS) [https://techcommunity.microsoft.com/t5/ask-the-performance-team/understanding-component-based-servicing/ba-p/373012] and [https://rakhesh.com/windows/notes-of-sfc-and-windows-servicing-component-based-servicing/]
* Address Space Layout Randomization (ASLR) http://blogs.msdn.com/b/michael_howard/archive/2006/05/26/address-space-layout-randomization-in-windows-vista.aspx
+
* Windows optional component setup tool (Ocsetup.exe) [https://docs.microsoft.com/en-us/troubleshoot/windows-client/deployment/use-ocsetup-to-install-remove-components]
* Condition Variables http://msdn.microsoft.com/en-us/library/ms682052(VS.85).aspx
+
* Package Manager (Pkgmgr.exe) [https://docs.microsoft.com/en-us/previous-versions/windows/it-pro/windows-vista/cc749465(v=ws.10)?redirectedfrom=MSDN]
* One Time Initialization http://msdn.microsoft.com/en-us/library/aa363808(VS.85).aspx
+
* Address Space Layout Randomization (ASLR). See [[Techwiki:KASLR]]. [https://www.microsoft.com/security/blog/2006/05/26/address-space-layout-randomization-aslr-in-windows-vista-beta2/]
* ThreadPool API http://msdn.microsoft.com/en-us/library/ms686766(VS.85).aspx
+
* <span style="color:red"><s>Condition Variables</s></span> (<s>{{JIRA|7546}}</s>) [https://msdn.microsoft.com/en-us/library/ms682052(VS.85).aspx]
* Wait Chain Transversal http://msdn.microsoft.com/en-us/library/ms681623(VS.85).aspx
+
* <span style="color:red"><s>One Time Initialization</s></span> [https://msdn.microsoft.com/en-us/library/aa363808(VS.85).aspx]
* Kernel Transaction Manager http://msdn.microsoft.com/en-us/library/aa366288(VS.85).aspx
+
* ThreadPool API [https://msdn.microsoft.com/en-us/library/ms686766(VS.85).aspx]
* Desktop Window Manager http://msdn.microsoft.com/en-us/library/aa969540(VS.85).aspx
+
* Wait Chain Traversal [https://msdn.microsoft.com/en-us/library/ms681623(VS.85).aspx]
* Windows Search  http://msdn.microsoft.com/en-us/library/aa965362(VS.85).aspx
+
* Desktop Window Manager [https://msdn.microsoft.com/en-us/library/aa969540(VS.85).aspx]
* Windows Diagnostics Infrastructure (WDI) (bad documented) http://www.geoffchappell.com/viewer.htm?doc=notes/windows/wdi/index.htm
+
* Windows Search  [https://msdn.microsoft.com/en-us/library/aa965362(VS.85).aspx]
* Windows Display Driver Model  http://msdn.microsoft.com/en-us/library/aa480220.aspx
 
* DreamScene http://windows.microsoft.com/en-US/windows-vista/About-Windows-DreamScene
 
  
 
=== Introduced in Windows 7 ===
 
=== Introduced in Windows 7 ===
* New Functions http://msdn.microsoft.com/en-us/library/dd433624%28VS.85%29.aspx
+
* <span style="color:orange">''New API Functions''</span> [[User:Petr-akhlamov/Compatibility_mode#NT_6.0_API_support|'''[i]''']] [https://msdn.microsoft.com/en-us/library/dd433624%28VS.85%29.aspx]
* Jump Lists http://windows.microsoft.com/en-us/windows7/products/features/jump-lists
+
* Deployment Image Servicing and Management (DISM) [https://docs.microsoft.com/en-us/windows-hardware/manufacture/desktop/dism---deployment-image-servicing-and-management-technical-reference-for-windows]
* Pin to Taskbar http://windows.microsoft.com/en-us/windows7/Pin-a-program-to-the-taskbar
+
* Jump Lists [https://web.archive.org/web/20131030125429/http://windows.microsoft.com/en-us/windows7/products/features/jump-lists]
* Window Snapping http://windows.microsoft.com/en-us/windows7/products/features/snap
+
* Pin to Taskbar [https://web.archive.org/web/20130306082322/https://windows.microsoft.com/en-us/windows7/Pin-a-program-to-the-taskbar]
* Aero Shake http://windows.microsoft.com/en-US/windows7/Whats-new-with-the-Windows-desktop#section_2
+
* <span style="color:red"><s>Window Snapping</s></span> [https://web.archive.org/web/20130313164206/http://windows.microsoft.com/en-us/windows7/products/features/snap]
* Aero Peek http://windows.microsoft.com/en-US/windows7/Whats-new-with-the-Windows-desktop#section_3
+
* Wallpaper Rotation [https://web.archive.org/web/20130313055916/http://windows.microsoft.com/en-us/windows7/create-a-desktop-background-slide-show]
* Wallpaper Rotation http://windows.microsoft.com/en-us/windows7/create-a-desktop-background-slide-show
+
* Multi-touch Support [https://web.archive.org/web/20130911054939/http://msdn.microsoft.com/en-us/magazine/ee336016.aspx] (optional)
* Multi-touch Support http://msdn.microsoft.com/en-us/magazine/ee336016.aspx
+
* exFAT (Extended File Allocation Table) [https://msdn2.microsoft.com/en-us/library/aa914353.aspx]
* exFAT (Extended File Allocation Table) http://msdn2.microsoft.com/en-us/library/aa914353.aspx
+
* DPI settings are per-user [https://msdn.microsoft.com/en-us/library/dd371771(VS.85).aspx]
* DPI settings are per-user http://msdn.microsoft.com/en-us/library/dd371771(VS.85).aspx
+
* Wireless Hosted Network [https://msdn.microsoft.com/en-us/library/windows/desktop/dd815243(v=vs.85).aspx]
 +
 
 +
=== Introduced in Windows 8 ===
 +
* Supervisor Mode Execution Prevention [https://blog.ptsecurity.com/2012/09/intel-smep-overview-and-partial-bypass.html]
 +
* <span style="color:red"><s>Windows To Go</s></span> [http://en.wikipedia.org/wiki/Windows_To_Go] (ReactOS has LiveCDs instead)
 +
 
 +
=== Introduced in Windows 10 ===
 +
* APPX packaging for desktop apps
 +
 
 +
== Kernel features ==
 +
 
 +
=== NT 5.1 ===
 +
* <span style="color:red"><s>Keyed events</s></span>
 +
* <span style="color:red"><s>Push locks</s></span>
 +
* The Prefetcher
 +
* The Driver Verifier
 +
 
 +
=== NT 5.2 ===
 +
* <span style="color:orange">Data Execution Prevention (NX)</span> (Implemented for x64, requires PAE on x86, which isn't supported yet)
 +
* Kernel Patch Protection (PatchGuard)
 +
* <span style="color:red"><s>Threaded DPCs</s></span>
 +
 
 +
=== NT 6.0 ===
 +
* ALPC
 +
* I/O prioritization
 +
* Integrity levels
 +
* Kernel Transaction Manager
 +
* Low-Fragmentation Heap
 +
* Memory priorities
 +
* NUMA-aware memory management
 +
* Private namespaces
 +
* Processor Power Manager
 +
* Protected Processes
 +
* ReadyBoost
 +
* ReadyBoot
 +
* SuperFetch
 +
* BCD (Boot Configuration Database)
 +
* Uses Time Stamp Counter to track CPU cycles during thread runtime (cycle-based scheduling)
 +
* Windows Diagnostics Infrastructure (WDI)
 +
* Windows Hardware Error Architecture (WHEA)
 +
 
 +
=== NT 6.1 ===
 +
* Affinity enumeration
 +
* <span style="color:green"><s>Processor Power Management</s></span>
 +
* Dynamic Fair Share Scheduler
 +
* Interrupt affinity
 +
* Multiple system working sets
 +
* New enhanced kernel timer environment (high-resolution, finite, idle-resilient, no-wake)
 +
* Processor groups and group affinity
 +
* Removal of the global dispatcher lock
 +
* Removal of the global PFN lock
 +
* Timer coalescing
 +
* User‐Mode Scheduling
 +
 
 +
=== NT 6.2 ===
 +
* Boot/Bugcheck Graphics
 +
* Cache-aware push locks
 +
* Direct quantum donations
 +
* Fast Startup
 +
* Group scheduling
 +
* Job hierarchies
 +
* Modern Boot
 +
* Memory combining
 +
* NX kernel memory pools
 +
* Object-less waiting by thread ID
 +
* <span style="color:green"><s>Power management framework (PoFx)</s></span>
 +
* Hybrid ready queues
 +
* Swap the entire process working set (new swap file)
 +
* Windows Notification Facility (WNF)
 +
 
 +
=== NT 6.3 ===
 +
* Auto Boost (which in modern Windows is used in many synchronization primitives, e.g. push locks, guarded/fast mutexes, executive resources, many internal component locks etc.)
 +
* CFG
 +
* Connected (Modern) Standby
 +
* Interrupt steering
 +
* Kernel Shim Engine
 +
* Lightweight thread suspension (no APC)
 +
* Major handle table refactoring
 +
* Protected Process Light
 +
* Registry hives defragmentation (reorganization)
 +
 
 +
=== NT 10 ===
 +
* Auto-expand push locks
 +
* Cache-aware scheduling
 +
* CET
 +
* CFG (Kernel)
 +
* Core isolation
 +
* CPU sets
 +
* DIF
 +
* DPC Delegates and DPCs runtime history
 +
* DPC wait events
 +
* DTrace
 +
* Dynamic timer tick
 +
* Processor enclaves
 +
* Fanned-out push locks
 +
* Heterogeneous processor power management
 +
* Heterogeneous scheduling
 +
* I/O QoS
 +
* I/O Ring
 +
* KASAN (Kernel Address Sanitizer)
 +
* Latency-aware scheduling
 +
* Memory partitions
 +
* MicroVM
 +
* Minimal and Pico Processes
 +
* Priority queue kernel object
 +
* Registry hives defragmentation (reorganization)
 +
* Section-backed registry
 +
* Segment heap
 +
* Special user-mode APCs
 +
* Store Manager (memory compression)
 +
* Time zone virtualization
 +
* Trustlets (Secure Processes)
 +
* Virtualization-Based Security, Secure Kernel, Isolated User Mode
 +
* VP threads scheduling
 +
* VReg (registry virtualization)
 +
* Windows containers
 +
 
 +
== <span style="color:green">'''Multiprocessing'''</span> ==
 +
Multiple processors are not supported at this time. Even if the PC has multiple processors or multiple cores, ReactOS will use only one core.
 +
 
 +
However, ReactOS can perform [https://www.webopedia.com/TERM/M/multiprocessing.html multiprocessing] to allow many processes (programs) to run concurrently.
 +
 
 +
In GSoC 2021 student Justin Miller [https://reactos.org/project-news/welcome-gsoc-2021-students/ planning to complete] Symmetric Multiprocessing  (SMP).
  
 
== Drivers ==
 
== Drivers ==
* Re-enable ACPI and update ACPICA core (http://www.acpica.org/) - see {{Bug|3363}} and {{Bug|4775}}
 
 
* Bugfix/implement VBE 1.02/2.00/3.00+  support (special cases for buggy cards might be necessary)
 
* Bugfix/implement VBE 1.02/2.00/3.00+  support (special cases for buggy cards might be necessary)
** http://www.virtualbox.de/browser/trunk/src/VBox/Additions/WINNT/Graphics
+
** https://www.virtualbox.de/browser/trunk/src/VBox/Additions/WINNT/Graphics
** http://navozhdeniye.narod.ru/vbemp.htm
+
** https://navozhdeniye.narod.ru/vbemp.htm
** http://www.talula.demon.co.uk/freebe/
+
** https://www.talula.demon.co.uk/freebe/
** http://et6000.narod.ru/
+
** https://et6000.narod.ru/
* USB class drivers http://www.usb.org/developers/devclass_docs/usb-msc-overview-1.3b.pdf
+
* <span style="color:green">'''[[USB]] 3.0'''</span> specs [http://www.usb.org/developers/docs/usb_30_spec_032310.zip]
* USB 3.0 specs http://www.usb.org/developers/docs/usb_30_spec_032310.zip
+
* <span style="color:green">'''[[USB]] 3.1'''</span> specs
* HID class drivers http://www.usb.org/developers/hidpage/microhid/
+
* <span style="color:red"><s>UDF (ISO/IEC 13346) driver. (DVD)</s></span> We have it since 2017 [http://www.osta.org/specs/pdf/udf260.pdf]
* UDF (ISO/IEC 13346) driver (DVD)http://www.osta.org/specs/pdf/udf260.pdf
 
 
* Partition Manager
 
* Partition Manager
 
* Volume Manager
 
* Volume Manager
 
* PCMCIA/Express Bus driver
 
* PCMCIA/Express Bus driver
 
* WMIlib
 
* WMIlib
* Windows Driver Framework http://www.microsoft.com/whdc/driver/wdf/default.mspx
+
* Windows Driver Framework [https://web.archive.org/web/20170409203944/https://msdn.microsoft.com/en-us/library/windows/hardware/ff557565(v=vs.85).aspx]
* Usermode Driver Framework http://www.microsoft.com/whdc/driver/wdf/UMDF.mspx
+
* Usermode Driver Framework [https://web.archive.org/web/20111006072722/http://msdn.microsoft.com/en-us/windows/hardware/gg463294.aspx]
  
 
== Display ==
 
== Display ==
* Support/bugfix EDID compliance http://en.wikipedia.org/wiki/Extended_display_identification_data
+
* Support/bugfix EDID compliance [[wikipedia:Extended display identification data]]
 
* Multimonitor support
 
* Multimonitor support
 
* Screen Rotation
 
* Screen Rotation
* [[Missing_ReactOS_Functionality#Introduced_in_Windows_Vista| WDDM]]
+
* [[Missing ReactOS Functionality#Introduced in Windows Vista| WDDM]]
  
 
== Networking ==
 
== Networking ==
* Internet Protocol Version 6 http://technet.microsoft.com/en-us/network/bb530961.aspx
+
* Internet Protocol Version 6 [https://technet.microsoft.com/en-us/network/bb530961.aspx]
 
* DHCP Server
 
* DHCP Server
* SMB Filesystem Server/Client http://wiki.samba-tng.org/doku.php (A quick client solution is smblib + explorer namespace extension)
+
* SMB Filesystem Server/Client [https://web.archive.org/web/20160513004429/https://wiki.samba-tng.org/doku.php]
* NFS Server/Client http://tools.ietf.org/html/rfc5661 Protocol Specification
+
** [[File Systems#SMBFS|SMBFS]]
 +
** [[Samba]]
 +
* <span style="color:green">'''NFS'''</span> Server/<span style="color:green">'''Client'''</span> [https://tools.ietf.org/html/rfc5661]
 +
* Tunnel (P-t-P) Network Communication
 +
** PPPoE Client ({{JIRA|10791}})
 +
** PPTP Client
 +
** L2TP Client
 +
 
 +
== Low Priority Framework implementations ==
 +
* MFC and Visual C support runtimes...
 +
* Visual Basic Runtime
 +
* .NET alternative such as Mono
 +
* Windows Runtime
 +
 
 +
[[Category:Ideas]]

Latest revision as of 21:16, 15 March 2024

This page contains a list of APIs, COM interfaces, drivers, application, extensions or other functionality that Windows has but ReactOS does not. There are other similar pages in this wiki that might help, e.g. Version Status and Roadmap. This page is intended as a list of general tasks that need to be done in ReactOS. If a certain component already exists, consider filing a bug report.

Statuses: planned, implementation started, implementation finished.

General

  • Boot from non-primary/logical/secondary partition; Boot from some primary partitions
  • Automatic Updates
  • Search [1]
  • User Login
  • WMI [2]
  • Diskpart [3] (command line partitioning tool)
  • Disk Defragmenter (ROSAPPS-332) [4]
  • Use Event Tracing [5] (turn debug channels into event channels??)
  • Hibernation support
  • LSASS [6]
  • Multi user support
  • Multi session support
  • Fast User Switching
  • LDAP/ActiveDirectory [7]
  • Task Scheduler
  • Printing
  • HTML Applications [8] – HTML files with a .hta extension that run as Windows Applications using the MSHTML (IE) Engine – see CORE-12813
  • Animated Mouse Cursors (CORE-14166)
  • Security Support Provider Interface (and the MS provided default packages) [9]
  • NTFS
  • WOWEXEC to run older Windows applications, based on 16 bit code. (A partial implementation of NTVDM exists. Aside: There are no "free" compilers for 16bit Windows NE style code as of 2018).

Win32 features

Introduced in Windows NT

  • NT-based CHKDSK [13]
  • Dr. Watson [i]

Introduced in Windows 98

  • System File Checker [14] (nice, but not absolutely needed)

Introduced in Windows ME

Introduced in Windows 2000

Introduced in Windows XP

  • Image Mastering API (needed for many cd writing applications)
  • Window ghosting(A window manager feature that lets the user minimize, move, or close the main window of an application that is not responding) – see CORE-11944
  • System Optional Components Manager (sysocmgr.exe)
  • Error Reporting [19] (Would be tremendously helpful to development) (CORE-8269)
  • MUI Support [20] (An alternative is worked on by Stefan Fulea- see CORE-10335)
  • Application Compatibility [21] [i]
  • Background Intelligent Transfer Service (BITS) [22] (optional, stuff that would be nice to have)
  • VirtualWiFi architecture [23]

Introduced in Windows Vista

  • User Interface Privilege Isolation (UIPI) see: ChangeWindowMessageFilter
  • User Account Control (UAC) [24]
  • Component-Based Servicing (CBS) [25] and [26]
  • Windows optional component setup tool (Ocsetup.exe) [27]
  • Package Manager (Pkgmgr.exe) [28]
  • Address Space Layout Randomization (ASLR). See Techwiki:KASLR. [29]
  • Condition Variables (CORE-7546) [30]
  • One Time Initialization [31]
  • ThreadPool API [32]
  • Wait Chain Traversal [33]
  • Desktop Window Manager [34]
  • Windows Search [35]

Introduced in Windows 7

  • New API Functions [i] [36]
  • Deployment Image Servicing and Management (DISM) [37]
  • Jump Lists [38]
  • Pin to Taskbar [39]
  • Window Snapping [40]
  • Wallpaper Rotation [41]
  • Multi-touch Support [42] (optional)
  • exFAT (Extended File Allocation Table) [43]
  • DPI settings are per-user [44]
  • Wireless Hosted Network [45]

Introduced in Windows 8

  • Supervisor Mode Execution Prevention [46]
  • Windows To Go [47] (ReactOS has LiveCDs instead)

Introduced in Windows 10

  • APPX packaging for desktop apps

Kernel features

NT 5.1

  • Keyed events
  • Push locks
  • The Prefetcher
  • The Driver Verifier

NT 5.2

  • Data Execution Prevention (NX) (Implemented for x64, requires PAE on x86, which isn't supported yet)
  • Kernel Patch Protection (PatchGuard)
  • Threaded DPCs

NT 6.0

  • ALPC
  • I/O prioritization
  • Integrity levels
  • Kernel Transaction Manager
  • Low-Fragmentation Heap
  • Memory priorities
  • NUMA-aware memory management
  • Private namespaces
  • Processor Power Manager
  • Protected Processes
  • ReadyBoost
  • ReadyBoot
  • SuperFetch
  • BCD (Boot Configuration Database)
  • Uses Time Stamp Counter to track CPU cycles during thread runtime (cycle-based scheduling)
  • Windows Diagnostics Infrastructure (WDI)
  • Windows Hardware Error Architecture (WHEA)

NT 6.1

  • Affinity enumeration
  • Processor Power Management
  • Dynamic Fair Share Scheduler
  • Interrupt affinity
  • Multiple system working sets
  • New enhanced kernel timer environment (high-resolution, finite, idle-resilient, no-wake)
  • Processor groups and group affinity
  • Removal of the global dispatcher lock
  • Removal of the global PFN lock
  • Timer coalescing
  • User‐Mode Scheduling

NT 6.2

  • Boot/Bugcheck Graphics
  • Cache-aware push locks
  • Direct quantum donations
  • Fast Startup
  • Group scheduling
  • Job hierarchies
  • Modern Boot
  • Memory combining
  • NX kernel memory pools
  • Object-less waiting by thread ID
  • Power management framework (PoFx)
  • Hybrid ready queues
  • Swap the entire process working set (new swap file)
  • Windows Notification Facility (WNF)

NT 6.3

  • Auto Boost (which in modern Windows is used in many synchronization primitives, e.g. push locks, guarded/fast mutexes, executive resources, many internal component locks etc.)
  • CFG
  • Connected (Modern) Standby
  • Interrupt steering
  • Kernel Shim Engine
  • Lightweight thread suspension (no APC)
  • Major handle table refactoring
  • Protected Process Light
  • Registry hives defragmentation (reorganization)

NT 10

  • Auto-expand push locks
  • Cache-aware scheduling
  • CET
  • CFG (Kernel)
  • Core isolation
  • CPU sets
  • DIF
  • DPC Delegates and DPCs runtime history
  • DPC wait events
  • DTrace
  • Dynamic timer tick
  • Processor enclaves
  • Fanned-out push locks
  • Heterogeneous processor power management
  • Heterogeneous scheduling
  • I/O QoS
  • I/O Ring
  • KASAN (Kernel Address Sanitizer)
  • Latency-aware scheduling
  • Memory partitions
  • MicroVM
  • Minimal and Pico Processes
  • Priority queue kernel object
  • Registry hives defragmentation (reorganization)
  • Section-backed registry
  • Segment heap
  • Special user-mode APCs
  • Store Manager (memory compression)
  • Time zone virtualization
  • Trustlets (Secure Processes)
  • Virtualization-Based Security, Secure Kernel, Isolated User Mode
  • VP threads scheduling
  • VReg (registry virtualization)
  • Windows containers

Multiprocessing

Multiple processors are not supported at this time. Even if the PC has multiple processors or multiple cores, ReactOS will use only one core.

However, ReactOS can perform multiprocessing to allow many processes (programs) to run concurrently.

In GSoC 2021 student Justin Miller planning to complete Symmetric Multiprocessing (SMP).

Drivers

Display

Networking

  • Internet Protocol Version 6 [52]
  • DHCP Server
  • SMB Filesystem Server/Client [53]
  • NFS Server/Client [54]
  • Tunnel (P-t-P) Network Communication

Low Priority Framework implementations

  • MFC and Visual C support runtimes...
  • Visual Basic Runtime
  • .NET alternative such as Mono
  • Windows Runtime