#
e80cd676 |
| 22-May-2024 |
Hermès Bélusca-Maïto <hermes.belusca-maito@reactos.org> |
[PARTMGR] Reimplement IOCTL_MOUNTDEV_QUERY_UNIQUE_ID for MBR and GPT partitions (#6926) CORE-15575
In addition, fix a PartitionId assignment copy-paste error in PartitionCreateDevice().
The returne
[PARTMGR] Reimplement IOCTL_MOUNTDEV_QUERY_UNIQUE_ID for MBR and GPT partitions (#6926) CORE-15575
In addition, fix a PartitionId assignment copy-paste error in PartitionCreateDevice().
The returned standard UniqueId has the following format:
- Basic volume on MBR disk: disk Mbr.Signature + partition StartingOffset (length: 0x0C) - Basic volume on GPT disk: "DMIO:ID:" + Gpt.PartitionGuid (length: 0x18) - Volume on Basic disk (NT <= 4): 8-byte FTDisk identifier (length: 0x08) - Volume on Dynamic disk (NT 5+): "DMIO:ID:" + dmio VolumeGuid (length: 0x18) - Super-floppy (single-partition with StartingOffset == 0), or Removable media: DiskInterfaceName. - As fallback, we use the VolumeInterfaceName.
References: - https://winreg-kb.readthedocs.io/en/latest/sources/system-keys/Mounted-devices.html - https://stackoverflow.com/a/72787681/21852502 - Manual testing on Windows.
show more ...
|
#
3d26d76a |
| 22-May-2024 |
Hermès Bélusca-Maïto <hermes.belusca-maito@reactos.org> |
[PARTMGR] Detect and flag partitionless ("super-floppy") disks (#6926) CORE-15575
Detect whether the disk is a "super-floppy", which is the name given to partitionless disk having no MBR, with the u
[PARTMGR] Detect and flag partitionless ("super-floppy") disks (#6926) CORE-15575
Detect whether the disk is a "super-floppy", which is the name given to partitionless disk having no MBR, with the unique partition volume starting at sector offset zero and spanning the whole disk. The name comes from the fact that at the partitioning level, the disk "looks like" a large-capacity floppy disk.
This is typically how external removable (USB, ...) drives are partitioned by default by Windows.
https://learn.microsoft.com/en-us/windows-hardware/manufacture/desktop/windows-and-gpt-faq?view=windows-11#superfloppy
The kernel-mode functions IoReadPartitionTable() / IoWritePartitionTable() report the drive layout of a "super-floppy" disk as follows: an MBR-style disk containing only one single partition starting at the beginning of the disk (StartingOffset == 0) without hidden sectors, and its type being FAT16 non-bootable. The disk NTFT signature is set to 0x00000001.
----
Additional bug fixes to make the feature work reliably:
- Make PartMgrGetDriveLayout() also update the FDO DiskData's PartitionStyle and Signature/GPT DiskId for consistency (code moved from PartMgrRefreshDiskData()).
- In FdoIoctlDiskSetDriveLayout[Ex](), if the disk is "super-floppy", but the user wants to create more than one partition, fail the call. (In the Ex call, fail also if the partition style changes.)
show more ...
|
#
0a8b421d |
| 19-May-2024 |
Hermès Bélusca-Maïto <hermes.belusca-maito@reactos.org> |
[PARTMGR] Implement IOCTL_VOLUME_QUERY_VOLUME_NUMBER and IOCTL_VOLUME_IS_PARTITION (#6911)
- Implement IOCTL_VOLUME_QUERY_VOLUME_NUMBER: See usage example in: https://github.com/dansdrivers/ndas
[PARTMGR] Implement IOCTL_VOLUME_QUERY_VOLUME_NUMBER and IOCTL_VOLUME_IS_PARTITION (#6911)
- Implement IOCTL_VOLUME_QUERY_VOLUME_NUMBER: See usage example in: https://github.com/dansdrivers/ndas4windows/blob/7241cebfa2a2076de546b8841c2ccda8ca599a8d/mayfield/branches/spr/src/umapps/ndassvc/service/drivematch.cpp#L627
- Stubplement IOCTL_VOLUME_IS_PARTITION: The only type of volume we support right now is disk partition so we just return success. A more robust algorithm would be to check whether the volume has only one single extent, that covers the whole partition on which it lies upon. If this is not the case, return STATUS_UNSUCCESSFUL instead.
show more ...
|
Revision tags: 0.4.14-release |
|
#
3adf4508 |
| 11-May-2021 |
Jérôme Gardou <jerome.gardou@reactos.org> |
[REACTOS] Addendum to 5c7ce4475e246560d1622b8cc60dc603e3955f66 - Fix MSVC 2015 build
Put data into PAGEDATA or INITDATA sections Keep section declaration for prototypes
CORE-17540
|
#
b0c931ac |
| 10-Jan-2021 |
Victor Perevertkin <victor.perevertkin@reactos.org> |
[PARTMGR] Remove hacks as PnP manager should not send bogus IRPs anymore
|
#
2d6c6fa3 |
| 06-Dec-2020 |
Victor Perevertkin <victor.perevertkin@reactos.org> |
[PARTMGR] Register a disk interface for disk PDO
CORE-14187
|
#
6488440a |
| 16-Nov-2020 |
Jérôme Gardou <jerome.gardou@reactos.org> |
[PARTMGR] Use FORCEINLINE
|
#
bd8226af |
| 13-Nov-2020 |
Victor Perevertkin <victor.perevertkin@reactos.org> |
[PARTMGR] Add the Partition Manager driver
This driver works as complement to disk.sys/classpnp.sys from Windows 10 Manages partition PDOs and exposes them as volumes to mountmgr.sys. The driver is
[PARTMGR] Add the Partition Manager driver
This driver works as complement to disk.sys/classpnp.sys from Windows 10 Manages partition PDOs and exposes them as volumes to mountmgr.sys. The driver is almost complete, just some minor IOCTLs missing (will be added on demand)
show more ...
|