How to determine whether a volume is virtual in minifilter InstanceSetup callback?

I need to determine whether a volume that is mounting now is virtual(mounted vhdx/iso/etc.) in minifilter InstanceSetup callback. How can I do this?

No official way. Volmgr(Volume Manager) was designed specifically to virtualize volumes( RAID disks etc ).

In my driver I had a PnP tree that I could traverse by BusRelations and RemovalRelations. So I was able to find a bus to which volume is attached. You could traverse a PnP tree from user mode - this one is easy and officially documented.

There are some IOCTL_DISK_xxx or IOCTL_STORAGE_xxx requests which return a structure of values containing the BusType.


Maxim S. Shatskih
Microsoft MVP on File System And Storage
xxxxx@storagecraft.com
http://www.storagecraft.com

wrote in message news:xxxxx@ntfsd…
>I need to determine whether a volume that is mounting now is virtual(mounted vhdx/iso/etc.) in minifilter InstanceSetup callback. How can I do this?
>

> There are some IOCTL_DISK_xxx or IOCTL_STORAGE_xxx requests which return

Yes, sometimes it helps. But some virtual drives emulate hardware bus. Alcohol/Daemon Tools virtual CD/DVD drives do this.