VolSnap device for a virtual volume

Hi,

I have a virtual volume driver that acts as a storage class driver (SCSI miniport is not an option, unfortunately). I use IoReportDetectedDevice to create a fake PDO and attach my FDO to it, so I can register the mount manager interface and get a drive letter. I also register the disk interface (guid_devinterface_disk).
Overall, the driver is functioning OK, other than two problems that I think are related:

  1. A “Generic Volume” device is not created. I see a “Generic Volume” device, handled by VolSnap.sys for each other storage volume in the system.
  2. I cannot get explorer to show a custom icon and label for my drive (through autorun.inf or registry). Explorer seems to be listening for some hardware event in order to make this work, but I can’t figure out which.

I’ve already tried issuing GUID_IO_MEDIA_ARRIVAL and it didn’t help. I also thought about registering GUID_DEVINTERFACE_VOLUME, but I noticed that the WDK samples don’t do it.

Another interesting phenomenon I see when debugging is these messages during the interaction with the mount manager:
CreateTargetEntry() RegisterDeviceNotification() failed. Win32 Error:1066

DmServerServiceHandlerEx() CreateTargetEntry() failed: 1066.

What am I missing here?

This is not the correct newsgroup since it is for file system drivers and
file system filter drivers. Storage questions really belong in ntdev.

However, the easiest way to find the solution is to build a checked version
of disk.sys and classpnp.sys. Install both of them on a test system using
image path to point to your versions that have different names. Trace each
call to the mount manager, and any incoming requests from the mount manager,
volume manager, and partition manager.

wrote in message news:xxxxx@ntfsd…
> Hi,
>
> I have a virtual volume driver that acts as a storage class driver (SCSI
> miniport is not an option, unfortunately). I use IoReportDetectedDevice to
> create a fake PDO and attach my FDO to it, so I can register the mount
> manager interface and get a drive letter. I also register the disk
> interface (guid_devinterface_disk).
> Overall, the driver is functioning OK, other than two problems that I
> think are related:
> 1) A “Generic Volume” device is not created. I see a “Generic Volume”
> device, handled by VolSnap.sys for each other storage volume in the
> system.
> 2) I cannot get explorer to show a custom icon and label for my drive
> (through autorun.inf or registry). Explorer seems to be listening for some
> hardware event in order to make this work, but I can’t figure out which.
>
> I’ve already tried issuing GUID_IO_MEDIA_ARRIVAL and it didn’t help. I
> also thought about registering GUID_DEVINTERFACE_VOLUME, but I noticed
> that the WDK samples don’t do it.
>
> Another interesting phenomenon I see when debugging is these messages
> during the interaction with the mount manager:
> CreateTargetEntry() RegisterDeviceNotification() failed. Win32 Error:1066
>
> DmServerServiceHandlerEx() CreateTargetEntry() failed: 1066.
>
> What am I missing here?
>

Sorry for the posting to the wrong newsgroup, i am moving it to the right one.