Querying storage properties from minifilter driver for Dynamic disks


I am getting error when querying storage properties of dynamic disk from mini-filter driver.

When my mini-filter driver get Attach volume callback then it does below steps

  1. Get Disk object corresponding to the given volume using “FltGetDiskDeviceObject”
  2. It builds IRP to query storage properties using “IOCTL_STORAGE_QUERY_PROPERTY”
  3. using IOCallDriver sends this IRP to disk device object it gets from step 1.

This works perfectly fine for normal static disks. However it is failing on machine where it has dynamic disk. It fails with error code STATUS_INVALID_DEVICE_REQUEST.

I have created user mode application and using DeviceIOControl API with IOCTL_STORAGE_QUERY_PROPERTY. It works fine!

Any help is appreciated.