Hi,
I’m making a custom file system driver, and it works fine by using DefineDosDevice API.
I want to use it on a USB hard drive hot-plug, but do I need to make an original mount manager?
When connecting the drive IRP_MN_MOUNT_VOLUME didn’t come,
and on launching the DiskManager IRP_MN_MOUNT_VOLUME had come but
a driver letter didin’t be assigned.
Like NTFS or FAT, does Windows mount a volume and assign a driver letter automatically
for my custome file system device?
Thank you.
Assigning a drive letter has nothing to do with FS mounting.
–
Maxim Shatskih, Windows DDK MVP
StorageCraft Corporation
xxxxx@storagecraft.com
http://www.storagecraft.com
wrote in message news:xxxxx@ntfsd…
> Hi,
>
> I’m making a custom file system driver, and it works fine by using
DefineDosDevice API.
> I want to use it on a USB hard drive hot-plug, but do I need to make an
original mount manager?
>
> When connecting the drive IRP_MN_MOUNT_VOLUME didn’t come,
> and on launching the DiskManager IRP_MN_MOUNT_VOLUME had come but
> a driver letter didin’t be assigned.
>
> Like NTFS or FAT, does Windows mount a volume and assign a driver letter
automatically
> for my custome file system device?
>
> Thank you.
>
>
>
Do you mean Windows will assign a driver letter automatically?
Actually nobody assigns a drive letter to my file system device on WinXP, does my driver have something wrong?
Who will mount a volume and assign a drive letter?
> Do you mean Windows will assign a driver letter automatically?
Yes, without any help of the FSD. Even RAW volumes with unrecognized FS have
drive letters.
Actually nobody assigns a drive letter to my file system device on WinXP,
does
my driver have something wrong?
I don’t know, you have some issues.
Who will mount a volume and assign a drive letter?
In Windows, volume is ONLY mounted in NtCreateFile path if the pathname
references it.
This does not require a drive letter, though drive letter revocation in Disk
Management does a dismount.
Drive letter is assigned without any respect to the FSD, and is assigned by
MountMgr after it will communicate to the volume manager - FtDisk on pre-Vista
OSes for non-Dynamic disks.
–
Maxim Shatskih, Windows DDK MVP
StorageCraft Corporation
xxxxx@storagecraft.com
http://www.storagecraft.com
Dear Maxim,
Thank you for the answer.
In Windows, volume is ONLY mounted in NtCreateFile path if the pathname
references it.
This does not require a drive letter, though drive letter revocation in Disk
Management does a dismount.
I’ve checked when using CreateFile to my volume, it was mounted successfully,
but nobody opened my volume automatically when connecting my device to PC via USB.
In addition, CreateFile can make my volume mounted, but a drive letter didn’t be assign to my volume.
I need DefineDosDevice to assing a drive letter.
Drive letter is assigned without any respect to the FSD, and is assigned by
MountMgr after it will communicate to the volume manager - FtDisk on pre-Vista
OSes for non-Dynamic disks.
What I want to know is why the MountMgr ignore my volume.
I’m expecting the MountMgr mounts my volume and assigns a drive letter.
Should the MountMgr do this, if my FSD have no problem?
I’ll check my driver.
There are two issues, possibly:
-
The mount manager works at the volume level and may not mount
filesystems that are not NTFS, FAT or exFat.
-
Your file system must do whatever is required to get it mounted. I am
guessing that you are using the standard storage drivers to exposed the
volumes and partitions?
wrote in message news:xxxxx@ntfsd…
> Dear Maxim,
>
> Thank you for the answer.
>
>> In Windows, volume is ONLY mounted in NtCreateFile path if the pathname
>> references it.
>>
>> This does not require a drive letter, though drive letter revocation in
>> Disk
>> Management does a dismount.
>
> I’ve checked when using CreateFile to my volume, it was mounted
> successfully,
> but nobody opened my volume automatically when connecting my device to PC
> via USB.
> In addition, CreateFile can make my volume mounted, but a drive letter
> didn’t be assign to my volume.
> I need DefineDosDevice to assing a drive letter.
>
>> Drive letter is assigned without any respect to the FSD, and is assigned
>> by
>> MountMgr after it will communicate to the volume manager - FtDisk on
>> pre-Vista
>> OSes for non-Dynamic disks.
>
> What I want to know is why the MountMgr ignore my volume.
> I’m expecting the MountMgr mounts my volume and assigns a drive letter.
> Should the MountMgr do this, if my FSD have no problem?
>
>
> I’ll check my driver.
>
Thanks,
- The mount manager works at the volume level and may not mount
filesystems that are not NTFS, FAT or exFat.
Because my filesystem is not NTFS, FAT, or exFAT, so I don’t know if I need to make an original mount manager.
If needed, I couldn’t find any documents to make a mount manager. I’m not sure whether it should be a kernel driver or an application service.
Are there any documents or samples for a mount manager?
- Your file system must do whatever is required to get it mounted. I am
guessing that you are using the standard storage drivers to exposed the
volumes and partitions?
Yes, the storage driver for my volume is the standard usb storage driver (usbstor.sys).
My makin driver is a filesystem driver. By my application program, I can mount a volume
and assign a driver letter, but I hope the Windows Mount Manager do this instead.
Try using a FAT partition entry for your partition. See if mount manager
provides a drive letter then. If not, try faking out a FAT partition boot
record and see if it mounts with a drive letter. Experiment because mount
manager has almost nothing to do with file systems, but only with storage.
There have been messages in the appropriate newsgroups for storage about
this problem. It is not this newsgroup.
wrote in message news:xxxxx@ntfsd…
> Thanks,
>
>>1. The mount manager works at the volume level and may not mount
>>filesystems that are not NTFS, FAT or exFat.
>
> Because my filesystem is not NTFS, FAT, or exFAT, so I don’t know if I
> need to make an original mount manager.
> If needed, I couldn’t find any documents to make a mount manager. I’m not
> sure whether it should be a kernel driver or an application service.
> Are there any documents or samples for a mount manager?
>
>> 2. Your file system must do whatever is required to get it mounted. I
>> am
>> guessing that you are using the standard storage drivers to exposed the
>> volumes and partitions?
>
> Yes, the storage driver for my volume is the standard usb storage driver
> (usbstor.sys).
> My makin driver is a filesystem driver. By my application program, I can
> mount a volume
> and assign a driver letter, but I hope the Windows Mount Manager do this
> instead.
>
>
>
>
Dear David,
Thank you for your great advice!!
By faking out a FAT, I can make it successful.
Best regards,