reactos/base/setup/usetup
Hermès Bélusca-Maïto bfd8a84865
[BLUE] Improve initialization and interfacing with INBV.
CORE-15901

This fixes display reset transition when an external module acquired
INBV ownership and then released it, similarly to what was done in
commit 0ad65796 for VIDEOPRT.

For this a backup screenbuffer is used to store the contents of the
screen just before an INBV screen acquire transition, and these contents
are restored when it is detected that INBV ownership has been released.
Also, the active text font associated with the active console code-page
is restored, as well as the cursor state and shape.

In addition, any user of BLUE.SYS is now required to explicitly issue
a new IOCTL_CONSOLE_RESET_SCREEN to either enable or disable the screen.
This allows avoiding nasty unwanted screen mode switches when a handle
to the \Device\BlueScreen device is opened but no screen mode switch was
actually wanted - This "fixes" this annoyance on ReactOS and Windows,
when these are running witha VGA-compatible video driver and one wants
to look at properties of the \Device\BlueScreen device using
Sysinternals' WinObj.

Following this, we don't need to check anymore for explicit INBV
ownership by issuing calls to InbvCheckDisplayOwnership(), but instead
we check whether the screen has beeen manually enabled using the
aforementioned IOCTL. This partly supersedes commit 8b553a4b, and allows
fixing the second bug, namely that if we start ReactOS without the
/NOGUIBOOT option (and thus, INBV is active during boot), USETUP would
not show up anything because BLUE.SYS wouldn't display anything on screen.
See CORE-15901.

[USETUP][CONSRV] Call IOCTL_CONSOLE_RESET_SCREEN to tell BlueScreen device to enable the screen.
2019-12-15 03:37:52 +01:00
..
lang [TRANSLATION] Fix hungarian translation for usetup & syssetup to use formal addressing / conjugation (#2138) 2019-12-09 02:09:31 +01:00
spapisup [USETUP] Check for invalid INF handles before doing operations. 2018-12-23 20:37:13 +01:00
chkdsk.c [SETUPLIB][USETUP] Factor out the usage of FS provider structures. 2019-03-10 15:41:05 +01:00
chkdsk.h [SETUPLIB][USETUP] Factor out the usage of FS provider structures. 2019-03-10 15:41:05 +01:00
CMakeLists.txt [SETUPLIB][REACTOS][USETUP] Further improve the interfacing with INF and File-Queue APIs. 2018-11-01 18:55:43 +01:00
cmdcons.c [SETUP] Remove myself from the 1st stage setup code 2018-05-27 21:33:07 +02:00
cmdcons.h [SETUP] Remove myself from the 1st stage setup code 2018-05-27 21:33:07 +02:00
console.c [BLUE] Improve initialization and interfacing with INBV. 2019-12-15 03:37:52 +01:00
console.h [SETUP] Remove myself from the 1st stage setup code 2018-05-27 21:33:07 +02:00
consup.c [USETUP] Introduce some -V functions for CONSOLE_ConOutPrintf, CONSOLE_SetStatusText and CONSOLE_SetStatusTextX. 2018-10-28 14:41:57 +01:00
consup.h [USETUP] Introduce some -V functions for CONSOLE_ConOutPrintf, CONSOLE_SetStatusText and CONSOLE_SetStatusTextX. 2018-10-28 14:41:57 +01:00
devinst.c [NTOSKRNL][USETUP][UMPNPMGR] Pass user response data to NtPlugPlayControl(PlugPlayControlUserResponse). 2019-06-12 13:48:27 +02:00
devinst.h [USETUP] Modify the integrated user-mode PnP manager along the lines of UMPNPMGR, so that we can wait until all the queued device installations finish before continuing the installation further. 2018-12-23 20:37:14 +01:00
format.c [SETUPLIB][USETUP] Factor out the usage of FS provider structures. 2019-03-10 15:41:05 +01:00
format.h [SETUPLIB][USETUP] Factor out the usage of FS provider structures. 2019-03-10 15:41:05 +01:00
fslist.c [SETUPLIB][USETUP] Factor out the usage of FS provider structures. 2019-03-10 15:41:05 +01:00
fslist.h [SETUPLIB][USETUP] Factor out the usage of FS provider structures. 2019-03-10 15:41:05 +01:00
genlist.c [SETUPLIB][USETUP] Remove the deprecated GenericListHasSingleEntry() function and use instead GetNumberOfListEntries(). 2018-10-28 15:04:33 +01:00
genlist.h [SETUPLIB][USETUP] Don't store UI-related display strings in GENERIC_LIST_ENTRY-ies, + other code adaptations. 2018-10-28 01:32:15 +02:00
keytrans.c [USETUP] Remove the WIN32 support because usetup is a native-only application 2018-05-15 23:35:17 +02:00
keytrans.h [USETUP] Remove the WIN32 support because usetup is a native-only application 2018-05-15 23:35:17 +02:00
mui.c [SETUPLIB] Remove a deprecated error number (that gets merged with ERROR_TXTSETUP_SECTION). 2018-10-28 01:43:56 +02:00
mui.h [USETUP] Add new file-operation-related messages for deletion, moving and renaming. 2018-10-28 01:58:55 +02:00
muilanguages.h [USETUP] Hungarian translation (#2002) 2019-10-28 15:26:30 +01:00
partlist.c [USETUP] Use for-loops; simplify the code. 2019-03-11 00:05:37 +01:00
partlist.h [SETUPLIB][USETUP] Remove CurrentDisk/Partition from the partlist lib code, and move these into the UI code. 2019-03-11 00:05:37 +01:00
progress.c [USETUP] Progress-bar: minor improvements. 2018-08-27 23:55:58 +02:00
progress.h [USETUP] Progress-bar: minor improvements. 2018-08-27 23:55:58 +02:00
usetup.c [SETUPLIB][USETUP] Fix build about switch 2019-08-25 12:07:31 +09:00
usetup.h [SETUPLIB][USETUP] Slightly modify how and when the HW system partition is detected and used. 2019-08-25 02:38:53 +02:00
usetup.rc [SETUPLIB][USETUP] Diverse additions. 2018-06-03 22:12:45 +02:00