OP is right. Disk.sys used to be a bus driver - it created a PDO for each discovered partition. On fixed disks then PartMgr loaded as a bus filter, sucked up the partition objects before they were handed to PNP and gave them over to the volume manager to create volumes. On removable disks PartMgr wouldn’t load and those partitions were usable directly as volumes.
I believe that in Win7 we moved all the partitioning logic out of disk and into partmgr, and got rid of the PDOs for partitions.
-p
-----Original Message-----
From: xxxxx@lists.osr.com [mailto:xxxxx@lists.osr.com] On Behalf Of xxxxx@osr.com
Sent: Thursday, June 30, 2011 3:38 PM
To: Windows System Software Devs Interest List
Subject: RE:[ntdev] Partition Manager and IO path
Sorry, I’m quite sure that’s not correct, as we’ve been spending a lot of time looking at this recently. Basic disks have the translation done from Volume Relative to DISK relative by the Volume Manager. Dynamic partitions are translated by VOLMGRX.
[quote]
on pre-Vista, Disk.sys created the PDOs for partitions, and did the offset translations for the IRPs arriving to these PDOs [/quote]
Even in XP, I don’t recall the partition to disk translation being done in disk.sys – In fact, *I* was under the impression that this was moved out of disk.sys when the Volume Manager abstraction was first introduced.
But, I can’t say I remember.
So, yes OP: I was specifically referring to Vista and later, though my memory says that even in the XP timeframe the translation was done before Disk Class… but my memory for details like this is often faulty.
Peter
OSR
NTDEV is sponsored by OSR
For our schedule of WDF, WDM, debugging and other seminars visit:
http://www.osr.com/seminars
To unsubscribe, visit the List Server section of OSR Online at http://www.osronline.com/page.cfm?name=ListServer