IOCTL_MOUNTDEV_QUERY_UNIQUE_ID

Hi all,
I’m using the mount manager to get a drive letter for my device. In the DDK
documentation I’ve read that a unique name should have the format
"??\Volume{GUID}" and so I’ve created my own GUID that I was passing back
in the unique id IOCTL and everything was working fine.
Looking at the examples in the DDK instead, I’ve seen that what is passed as
unique ID is the string that is returned by the IoRegisterInterface with the
mount manager.
So I’ve changed my code to do the same but now if I install my driver when
the system is running I get a drive letter link to my driver, but if instead
I reboot the machine with the driver installed no drive letter is visible
even if I get a IOCTL_MOUNTDEV_LINK_CREATED in both cases. I used devview to
have a look at the link that is created under ??. After reboot I could find
a link like: “Volume{29bd0f80…}” to my driver but no drive letter linking
to it, if I remove the driver (devcon remove) and then I install it again I
find a link like “Volume{2cdf42e0…}” to my driver (is different) and also
a drive letter linking to it. I also had a look at the string returned by
IoRegisterInterface and in both cases is:

??\ROOT#DISKDRIVE#0000#{53f56307-b6bf-11d0-94f2-00a0c91efb8b}

I’m probably missing something but I don’t know what it is, do you have any
idea ?

Thanks
Vincenzo