During the boot process, it makes possible to initalize the driver's
devices right after the driver is loaded. Moreover, this way one can be
sure that all critical devices are initialized before the
IopMarkBootPartition call (because we explicitly call the driver's
AddDevice routine now, after each driver is loaded)
CORE-7826
- Use DeviceNode->State field and its values, instead of
DeviceNode->Flags for tracking current node state
- Change DNF_* flags to the ones compatible with Windows XP+
- Simplify state changes for device nodes and encapsulate all the logic
inside the PiDevNodeStateMachine routine. This makes the ground for
future improvements in the device removal sequence and
resource management
- Now values inside DeviceNode->State and ->Flags are compatible with
the windbg !devnode macro and can be tracked using it
- BUGFIX: fixed cases where IRP_MN_START_DEVICE or
IRP_MN_QUERY_DEVICE_RELATIONS may be sent to a device after a
IRP_MN_REMOVE_DEVICE
CORE-7826
We need the CDDB during the setup, so don't delete it for now.
The "proper" way for filling it is yet to be decided, Windows does that
from the data in txtsetup.sif file. Our final approach may be different
I tried initially to use Tag(e) but that does look too
crowded with the stuff after it. Since Windows is also not
consistent with the () for singular vs plural, I did chose
always plural "Tage".
Most often people will see "0 Tage" anyway, and that fits well.
The version string cutoff started to happen when we switched from SVN
with its short revision number to git with the longer hashes.
0.4.7-dev-502-gc2c66af was the first git-only rev (2017-Oct-03)
This brings the dialogs layout closer to XP.
Also fixes some other truncations for specific languages.
And unifies the touched text controls sizes for all languages.
The credits have been moved to readme.txt where they are more present and
we can avoid having to groom all languages files each time we want to add
a new dev (and sysdm.cpl to grow each time). Less maintenance.
0.4.15-dev-1629-g9aa73da gcc 8.4.0 dbg RosBE2.2.1 I18N=all binary size
sysdm.cpl before: 925.696bytes after: 705.024bytes
readme.txt still fits into a single NTFS cluster afterwards with 3702bytes
- Migrate all the IOCTL calls to NtDeviceIoControlFile() calls in
order to know the actual returned data and Status values.
- Add support for displaying information retrieved from:
* IOCTL_DISK_GET_DRIVE_GEOMETRY_EX ,
* IOCTL_DISK_GET_PARTITION_INFO and IOCTL_DISK_GET_PARTITION_INFO_EX
for "partition 0" (aka. the whole disk).
- Compactify the drive layouts after getting these from
IOCTL_DISK_GET_DRIVE_LAYOUT(_EX).
- Fix the HexDump() when displaying a buffer whose size is not a
multiple of 16.