- remove logically dead code in SetupDiGetClassImageIndex, CID 500046
- prevent null pointer dereference in SetupDiGetClassDevPropertySheetsA, CID 500676
- use strsafe functions in SETUP_CreateDevicesListFromEnumerator, CID 514263
- fix a check and adjust the logic in SetupDiLoadClassIcon to remove dead code and possible null pointer dereference CID 1250279, CID 1250287
svn path=/trunk/; revision=73669
- Fix a(n) (im)possible buffer overrun. Just a defensive measure in case some future work on calc would trigger this. CID 716050
svn path=/trunk/; revision=73668
- Check for failure when calling SetupDiGetActualSectionToInstallW so we don't pass garbage to SetupInstallFromInfSectionW. CID 715920
svn path=/trunk/; revision=73663
[BOOTDATA]: Add a default "welcome.ini" file to the build, only for hybrid-cds. The ini files containing the localized resources are automatically converted to UTF-16 prior to inclusion in the hybridcd.
svn path=/trunk/; revision=73656
- Simplify the implementation of the 'DiskGetBootPath' function;
- Cache the retrived freeldr boot path (corresponding to a given 'FrldrBootDrive' number);
- Introduce a 'DiskIsCdRomDrive' function to attempt to fix CORE-12692 .
svn path=/trunk/; revision=73621
- Do not push memory stores onto the operation stack since they can't be acted upon. Based on a patch by Katayama Hirofumi MZ.
CORE-12325 #resolve
svn path=/trunk/; revision=73620
- Remove the DiskVtbl functions (machxbox.c) of the XBOX and share them instead with those of the PC, since they are basically the same.
They just however differ by which 'DiskGetPartitionEntry' function they use. To cope with this, 'DiskGetPartitionEntry' becomes a pointer
to either the default function 'DiskGetMbrPartitionEntry' (which indeed assumes a MBR-layout, see partition.c), or the special function
'XboxDiskGetPartitionEntry' in the case of partitionless XBOX disks.
Note that, by the way, partition.c should in the future support GPT-layout disks as well...
- The boot devices pre-initialization code can also be shared as well, thus getting rid of 'XboxInitializeBootDevices', because we note that
this is exactly what the (old) XBOX version of 'DetectBiosDisks' did at its beginning.
- But then, we can also share 'DetectBiosDisks' XBOX code with its PC version, and also *fix* the PC code version as well!
'DetectSystem' and 'DetectBiosDisks' are therefore merged *as they should be*. Thanks to the boot devices pre-initialization code that has
run before the hardware detection, 'DetectBiosDisks' can just use the cached information.
- Now we correctly initialize the PC root HW system configuration key: we first create it, then, after the bios disks (floppies + HDDs) are enumerated
we set the BIOS INT13h disk data to the system key's configuration data.
svn path=/trunk/; revision=73618
- Move the HW detection code specific to the PC architecture from hardware.c to machpc.c, keeping in hardware.c the code that is shared between PC and XBOX.
- Move what remained of i386disk.c into pcdisk.c (specific to PC architecture) + code formatting.
- Move what remained of xboxhw.c into machxbox.c (specific to XBOX architecture); we discover that some code related to disk management is actually shared with PC architecture (in hwdisk.c): hwdisk.c therefore contains disk-management routines common to both PC & XBOX.
- xboxdisk.c: Code formatting only.
- Cleanup in disk.c/disk.h
svn path=/trunk/; revision=73616
* Recreated the start menu banner as a SVG file in Inkscape.
* Deleted old PSD (Photoshop) files.
* Replaced the explorer banner BMP with one exported by Inkscape from the SVG file.
The end result is slightly sharper text, but otherwise identical.
svn path=/trunk/; revision=73612
- Add missing checks for allocation failure in DetectSerialPointerPeripheral and DetectPS2Mouse. Patch by Serge Gautherie.
CORE-12623
svn path=/trunk/; revision=73608
- Use 'DiskReadBufferSize' instead of hardcoded values in hwdisk.c
- Transform reactos_arc_disk_info into a ARC_DISK_SIGNATURE_EX structure, so that its conversion into a ARC list in winldr.c becomes a bit simpler.
- In winldr.c:
* In case we fail to either open the SYSTEM hive or scan it, bail out with an error message, instead of trying to continue loading ROS.
* Fix an old comment related to ACPI;
- In memory.c/h: Do some cleanup (in particular, just use the MachXXX macros instead of also defining functions with the same names as the macros, and which just redirect into the virtual table).
svn path=/trunk/; revision=73606