Mount Manager Interface

I’m updating an FSD to use the Mount Manager interface
for drive letters rather than hammering a symbolic link
into \??.

Is there any way to interface with the Mount Manager
via IoRegisterDeviceInterface() without having a PDO?
As an alternative question, is there any way a legacy
driver can generate a PDO (other than IoReportDetectedDevice)?

Failing all that, is there a good simple skeleton for a
PnP driver (yes, I know about the toaster) that could function
as a fairly brain dead volume manager?

Thanks

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/storage/hh/storage/03class_5mp3.asp

The device you use doesn’t have to be a ‘real’ PDO, it just has to be a
device object on which you can handle the several mount-related IOCTLs
that the Mount Manager will send you.

Peter Lawthers wrote:

I’m updating an FSD to use the Mount Manager interface
for drive letters rather than hammering a symbolic link
into \??.

Is there any way to interface with the Mount Manager
via IoRegisterDeviceInterface() without having a PDO?
As an alternative question, is there any way a legacy
driver can generate a PDO (other than IoReportDetectedDevice)?

Failing all that, is there a good simple skeleton for a
PnP driver (yes, I know about the toaster) that could function
as a fairly brain dead volume manager?

Thanks


Nick Ryan
(Microsoft Windows MVP for DDK)

Usually, only disk FSDs use Mount Manager. For instance, redirectors do
not.

So, if you’re not a disk FSD, then do not use Mount Manager. And if you are
a disk FSD - then you have a disk’s PDO.

Maxim Shatskih, Windows DDK MVP
StorageCraft Corporation
xxxxx@storagecraft.com
http://www.storagecraft.com

----- Original Message -----
From: “Peter Lawthers”
To: “Windows File Systems Devs Interest List”
Sent: Friday, January 09, 2004 1:03 AM
Subject: [ntfsd] Mount Manager Interface

> I’m updating an FSD to use the Mount Manager interface
> for drive letters rather than hammering a symbolic link
> into \??.
>
> Is there any way to interface with the Mount Manager
> via IoRegisterDeviceInterface() without having a PDO?
> As an alternative question, is there any way a legacy
> driver can generate a PDO (other than IoReportDetectedDevice)?
>
> Failing all that, is there a good simple skeleton for a
> PnP driver (yes, I know about the toaster) that could function
> as a fairly brain dead volume manager?
>
> Thanks
>
>
> —
> Questions? First check the IFS FAQ at
https://www.osronline.com/article.cfm?id=17
>
> You are currently subscribed to ntfsd as: xxxxx@storagecraft.com
> To unsubscribe send a blank email to xxxxx@lists.osr.com

That’s the problem – this is a disk FSD, but doesn’t
use physical devices to mount on. The objects that
represent drive letters exist only to provide
the VPB and don’t actually have any physical
media underneath them, so I don’t have a PDO.

I tried sending a IOCTL_MOUNTMGR_CREATE_POINT
using this the name that corresponds to this
device object, but it failed (tracing down into
the mount manager revealed it barfed when
MountMgr!QueryDeviceInformation() tried to
call IoGetDeviceObjectPointer() ).

Looks like I may be stuck writing a skeleton
driver to provide the correct objects that represent
mounted devices.

Maxim S. Shatskih wrote:

Usually, only disk FSDs use Mount Manager. For instance, redirectors do
not.

So, if you’re not a disk FSD, then do not use Mount Manager. And if
you are
a disk FSD - then you have a disk’s PDO.

Maxim Shatskih, Windows DDK MVP
StorageCraft Corporation
xxxxx@storagecraft.com
http://www.storagecraft.com

----- Original Message -----
From: “Peter Lawthers”
> To: “Windows File Systems Devs Interest List”
> Sent: Friday, January 09, 2004 1:03 AM
> Subject: [ntfsd] Mount Manager Interface
>
>
> > I’m updating an FSD to use the Mount Manager interface
> > for drive letters rather than hammering a symbolic link
> > into \??.
> >
> > Is there any way to interface with the Mount Manager
> > via IoRegisterDeviceInterface() without having a PDO?
> > As an alternative question, is there any way a legacy
> > driver can generate a PDO (other than IoReportDetectedDevice)?
> >
> > Failing all that, is there a good simple skeleton for a
> > PnP driver (yes, I know about the toaster) that could function
> > as a fairly brain dead volume manager?
> >
> > Thanks
> >
> >
> > —
> > Questions? First check the IFS FAQ at
> https://www.osronline.com/article.cfm?id=17
> >
> > You are currently subscribed to ntfsd as: xxxxx@storagecraft.com
> > To unsubscribe send a blank email to xxxxx@lists.osr.com
>
>
> —
> Questions? First check the IFS FAQ at
> https://www.osronline.com/article.cfm?id=17
>
> You are currently subscribed to ntfsd as: xxxxx@adic.com
> To unsubscribe send a blank email to xxxxx@lists.osr.com
>

No, you can use a virtual PDO, I’ve done this myself. No need to send
IOCTLs of your own, just respond correctly to the IOCTLs sent to you by
the Mount Manager.

Peter Lawthers wrote:

That’s the problem – this is a disk FSD, but doesn’t
use physical devices to mount on. The objects that
represent drive letters exist only to provide
the VPB and don’t actually have any physical
media underneath them, so I don’t have a PDO.

I tried sending a IOCTL_MOUNTMGR_CREATE_POINT
using this the name that corresponds to this
device object, but it failed (tracing down into
the mount manager revealed it barfed when
MountMgr!QueryDeviceInformation() tried to
call IoGetDeviceObjectPointer() ).

Looks like I may be stuck writing a skeleton
driver to provide the correct objects that represent
mounted devices.

Maxim S. Shatskih wrote:

> Usually, only disk FSDs use Mount Manager. For instance,
> redirectors do
> not.
>
> So, if you’re not a disk FSD, then do not use Mount Manager. And
> if you are
> a disk FSD - then you have a disk’s PDO.
>
> Maxim Shatskih, Windows DDK MVP
> StorageCraft Corporation
> xxxxx@storagecraft.com
> http://www.storagecraft.com
>
>
> ----- Original Message -----
> From: “Peter Lawthers”
>> To: “Windows File Systems Devs Interest List”
>> Sent: Friday, January 09, 2004 1:03 AM
>> Subject: [ntfsd] Mount Manager Interface
>>
>>
>> > I’m updating an FSD to use the Mount Manager interface
>> > for drive letters rather than hammering a symbolic link
>> > into \??.
>> >
>> > Is there any way to interface with the Mount Manager
>> > via IoRegisterDeviceInterface() without having a PDO?
>> > As an alternative question, is there any way a legacy
>> > driver can generate a PDO (other than IoReportDetectedDevice)?
>> >
>> > Failing all that, is there a good simple skeleton for a
>> > PnP driver (yes, I know about the toaster) that could function
>> > as a fairly brain dead volume manager?
>> >
>> > Thanks
>> >
>> >
>> > —
>> > Questions? First check the IFS FAQ at
>> https://www.osronline.com/article.cfm?id=17
>> >
>> > You are currently subscribed to ntfsd as: xxxxx@storagecraft.com
>> > To unsubscribe send a blank email to xxxxx@lists.osr.com
>>
>>
>> —
>> Questions? First check the IFS FAQ at
>> https://www.osronline.com/article.cfm?id=17
>>
>> You are currently subscribed to ntfsd as: xxxxx@adic.com
>> To unsubscribe send a blank email to xxxxx@lists.osr.com
>>
>
>
>


Nick Ryan
(Microsoft Windows MVP for DDK)