How to support formatting

I have based my driver off of the ramdisk sample and so it creates a drive
letter by creating a symbolic link to the drive in the DosDevices directory
(i.e. \DosDevices\X:). Now I want to support formatting the drive and I
have added support for almost every ioctl I get sent. So now if I select
the format option from My Computer and then check quick format and hit
start it goes through and I get one write request (which I succeed) and
then it says that windows cannot complete the format. What am I doing
wrong?


You are currently subscribed to ntdev as: $subst(‘Recip.EmailAddr’)
To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com

wrote in message news:xxxxx@ntdev…
>
> I have based my driver off of the ramdisk sample and so it creates a drive
> letter by creating a symbolic link to the drive in the DosDevices
directory
> (i.e. \DosDevices\X:).
>

Are you trying to do this in Win2K or Windows NT V4?

Peter
OSR


You are currently subscribed to ntdev as: $subst(‘Recip.EmailAddr’)
To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com

Hi there!

I know that problem - it occurs if you try to format a virtual disk on Win2k
to FAT/FAT32. The reason is that you need a \HarddiskX\Partition0 for your
device (X is some number). So you’ll have to implement this in your driver:
create the \HarddiskX\Partition0 for the entire virtual disk. Create a
\HarddiskX\Partition1 in the same driver that is starting some sectors AFTER
the first sector, but goes till the end of the virtual disk. And then build
a drive letter link to \HarddiskX\Partition1. Should work :slight_smile:
I apologize if this is wrong, I cannot remember exactly if it was
\Partition0 or \PhysicalDrive…
In case my English is worse than ever, a schema:

±- starting sector 0
| ±- starting sector 1
| |
| <----- Partition1 -------->
<----- Partition0 ------------> (for the entire disk)
[0 1 2 3 4 5 6 7 8 9 … XXX]
(sector numbers)

----- Original Message -----
From:
To: “NT Developers Interest List”
Sent: Saturday, March 10, 2001 8:00 PM
Subject: [ntdev] How to support formatting

> I have based my driver off of the ramdisk sample and so it creates a drive
> letter by creating a symbolic link to the drive in the DosDevices
directory
> (i.e. \DosDevices\X:). Now I want to support formatting the drive and I
> have added support for almost every ioctl I get sent. So now if I select
> the format option from My Computer and then check quick format and hit
> start it goes through and I get one write request (which I succeed) and
> then it says that windows cannot complete the format. What am I doing
> wrong?
>
> —
> You are currently subscribed to ntdev as: xxxxx@gmx.net
> To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com
>


You are currently subscribed to ntdev as: $subst(‘Recip.EmailAddr’)
To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com

Hi

I have now changed the way my drive letter is assigned by getting the mount
manager to assign it for me. I was thinking that it would fix the format
problem but it does not. I tried your suggestion by creating
\Device\Harddisk1\Partition0 and linking it to my device name. I have a
problem with this because my device is not partitionable, it is like a
super-floppy. But I tried linking \Device\Harddisk1\Partition1 to my device
name also but it still gives me the error “Windows was unable to format this
drive”. I get that error after one write of 512 bytes to the first sector,
but it does not contain boot sector information, nor does it contain
partition table entries or they are all zero.

In your driver what device interfaces did you register? And what IOCTLs do
you handle? The only IOCTL that I get that I do not handle is
IOCTL_VOlUME_ONLINE. It also may be worth mention that the format dialog box
reports the disk capacity as “Unknown capacity” if there is no valid data in
the boot sector, which leads me to believe that it is not looking at my
responses to IOCTL_GET_DRIVE_GEOMETRY and the like.

From: “Alexander Platonow”
>Reply-To: “NT Developers Interest List”
>To: “NT Developers Interest List”
>Subject: [ntdev] Re: How to support formatting
>Date: Sun, 11 Mar 2001 22:03:07 +0100
>
>Hi there!
>
>I know that problem - it occurs if you try to format a virtual disk on
>Win2k
>to FAT/FAT32. The reason is that you need a \HarddiskX\Partition0 for your
>device (X is some number). So you’ll have to implement this in your driver:
>create the \HarddiskX\Partition0 for the entire virtual disk. Create a
>\HarddiskX\Partition1 in the same driver that is starting some sectors
>AFTER
>the first sector, but goes till the end of the virtual disk. And then build
>a drive letter link to \HarddiskX\Partition1. Should work :slight_smile:
>I apologize if this is wrong, I cannot remember exactly if it was
>\Partition0 or \PhysicalDrive…
>In case my English is worse than ever, a schema:
>
>±- starting sector 0
>| ±- starting sector 1
>| |
>| <----- Partition1 -------->
><----- Partition0 ------------> (for the entire disk)
>[0 1 2 3 4 5 6 7 8 9 … XXX]
>(sector numbers)
>
>----- Original Message -----
>From:
>To: “NT Developers Interest List”
>Sent: Saturday, March 10, 2001 8:00 PM
>Subject: [ntdev] How to support formatting
>
>
> > I have based my driver off of the ramdisk sample and so it creates a
>drive
> > letter by creating a symbolic link to the drive in the DosDevices
>directory
> > (i.e. \DosDevices\X:). Now I want to support formatting the drive and I
> > have added support for almost every ioctl I get sent. So now if I select
> > the format option from My Computer and then check quick format and hit
> > start it goes through and I get one write request (which I succeed) and
> > then it says that windows cannot complete the format. What am I doing
> > wrong?
> >
> > —
> > You are currently subscribed to ntdev as: xxxxx@gmx.net
> > To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com
> >
>
>
>—
>You are currently subscribed to ntdev as: xxxxx@hotmail.com
>To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com

_________________________________________________________________
Get your FREE download of MSN Explorer at http://explorer.msn.com


You are currently subscribed to ntdev as: $subst(‘Recip.EmailAddr’)
To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com