CORE-9023
Add support for all the supported filesystems: FAT/FATX, NTFS,
ISO, EXT, BTRFS, as well as for files loaded via PXE.
arc.h:
- Add `FILEATTRIBUTES` enumeration;
- Remove non-existing `CreateReadOnly` and `SupersedeReadOnly`
`OPENMODE` values; add missing `CreateReadWrite`.
Suppose the list of devices contains, for example listed in this order:
`multi(0)disk(0)rdisk(0)partition(1)`,
followed by:
`multi(0)disk(0)rdisk(0)`,
then if someone attempts to open `multi(0)disk(0)rdisk(0)`, the code
would erroneously open `multi(0)disk(0)rdisk(0)partition(1)` instead.
Device name lookup now verifies that the device name being tested has
the same length as the one being opened.
Noticed by user "Xen", see:
https://reactos.org/forum/viewtopic.php?p=144840#p144840
> Wrong name comparison in ArcOpen (can open "device()partition()"
> instead of "device()" that was really requested)
CORE-9023
And more accurately detect and report disks:
using `InquiryBuffer.DeviceType`, differentiate between "rigid" disks,
floppy disks, and CD-ROM drives.
CORE-9023
Some of this determination is platform-specific (e.g. BIOS-based PC vs.
NEC PC-98 vs. Xbox), and is done in a per-platform `DiskGetConfigType()`
routine.
This routine is then invoked by `hwdisk.c!DiskOpen()` and `PcInitializeBootDevices()`.
- Add missing definitions in icmpapi.h and use SAL2 annotations;
- Rename `__WINE_ICMPAPI_H` to the official `_ICMP_INCLUDED_`;
- Use `NTDDI_VERSION` versioning for some funtions;
- Use `PIO_APC_ROUTINE_DEFINED` for the `ApcRoutine` parameter
of the `Icmp*SendEcho2*()` functions, allowing to use the proper
`PIO_APC_ROUTINE` type instead of `FARPROC`;
- Add missing Vista SP1+ `IcmpSendEcho2Ex()` function.
- [PSDK] Introduce our own Microsoft compatible and MIT-licensed shlwapi.h and fix breaking changes
- [INCLUDE/WINE] Import shlwapi.h from wine-10.0 for use with Wine compatible code
- [CMAKELISTS.TXT] Bump up IE version from IE60 to IE60SP2. This is required because we are already using IE60SP2 guarded functionality; the new header unhides this.
- [SHLWAPI] Fix breaking changes, including a typo for 'SHGVSPB_GLOBALDEAFAULTS' (should be 'SHGVSPB_GLOBALDEFAULTS')
- [MSI] Use wine's shlwapi.h instead of our own in automation.c, don't precompile shlwapi.h.
- [URLMON_WINETEST] Primarily use wineheaders for this test
- Increase the output buffer for context and group help texts.
- Use a heap buffers to load and format the command help texts.
- Pass the full command name to FormatMessage to make help output work with WinXP helpers.
- Adjust the internal help texts accordingly.
Fix `UnregisterDeviceNotification()` crash on x64 due to pointer truncation.
Change signature of `CMP_REGNOTIFY` and `CMP_UNREGNOTIFY` to be correct (use `HDEVNOTIFY` instead of `ULONG`).
The french (legacy) keyboard layout has got only four dead keys.
- Remove the unused dead key translations.
- Add the missing dead key name and convert the dead key names to upper case.
CORE-9381