- FMIFS: QueryDeviceInformation(): Use more specific types and improve documentation.
Follow-up to commit 4838d7bd56.
- FORMAT: wmain():
* Zero the correct variable. Addendum to commit c5a9f22d4e.
* No need to zero the whole volumeName array. Follow-up to commit 358fecdcf0.
When I loaded WinXPs ifmon.dll into our netsh.exe and ran the 'interface ip show address'
command ifmon tried to query an unknown interface. Google found a name for the GUID:
INetCfgComponentPrivate.
I implemented the three standard methods of the interface and ran some more tests.
After adding a 4th method with tree parameters to the interface, there are no more
failures.
The size of the transfer buffer was always too small when a parameter of a
function was a pointer to a union of pointers. The buffer size calculation
function for the union only returned the size of the data the the pointer
in the union pointed to, omitting the size of the data for the union itself.
This caused a buffer overrun in the following marshal step which makes the
RPC call fail.
This fix will enable us to remove some workarounds in our RPC interfaces.
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.