ATA Write using IOCTL_IDE_PASS_THROUGH

hi,
has anyone tried to use IOCTL_IDE_PASS_THROUGH to perform an ATA write from
user mode? i’ve tried it for other ata commands such as READ SECTOR(s) and
IDENTIFY and it works ok, but not for writes. i also can’t find much
documentation on the IOCTL.
thanks

“noeme” wrote in message news:xxxxx@ntdev…
>
> hi,
> has anyone tried to use IOCTL_IDE_PASS_THROUGH to perform an ATA write
from
> user mode? i’ve tried it for other ata commands such as READ SECTOR(s) and
> IDENTIFY and it works ok, but not for writes. i also can’t find much
> documentation on the IOCTL.
> thanks

No, it’s not well documented. As you’ve discovered, IDE_PASS_THROUGH is
broken. Look up ATA_PASS_THROUGH on this list and on Google. It’s not
broken, and it is documented.

Phil

Philip D. Barila Windows DDK MVP
Seagate Technology, LLC
(720) 684-1842
As if I need to say it: Not speaking for Seagate.
E-mail address is pointed at a domain squatter. Use reply-to instead.

You need to look at the documentation for Serer 2003. Though still wanting
it is better. Also, for XP I believe there is a hot fix, soon to be
released, that addresses its functionality but not the lack of
documentation. SP2 for XP and SP5 for 2000 are supposed to have these fixes.


Gary G. Little
Seagate Technologies, LLC

“Phil Barila” wrote in message
news:xxxxx@ntdev…
>
> “noeme” wrote in message news:xxxxx@ntdev…
> >
> > hi,
> > has anyone tried to use IOCTL_IDE_PASS_THROUGH to perform an ATA write
> from
> > user mode? i’ve tried it for other ata commands such as READ SECTOR(s)
and
> > IDENTIFY and it works ok, but not for writes. i also can’t find much
> > documentation on the IOCTL.
> > thanks
>
> No, it’s not well documented. As you’ve discovered, IDE_PASS_THROUGH is
> broken. Look up ATA_PASS_THROUGH on this list and on Google. It’s not
> broken, and it is documented.
>
> Phil
> –
> Philip D. Barila Windows DDK MVP
> Seagate Technology, LLC
> (720) 684-1842
> As if I need to say it: Not speaking for Seagate.
> E-mail address is pointed at a domain squatter. Use reply-to instead.
>
>
>
>

thanks for replies…
i also tried ATA_PASS_THROUGH, but it is not supported for win 2000. is
there no other way to issue ata commands? i read in another post about
replacing the atapi.sys port driver. i’m new to device drivers so i wanted
to be spared from making one.

“Phil Barila” wrote in message
news:xxxxx@ntdev…
>
> “noeme” wrote in message news:xxxxx@ntdev…
> >
> > hi,
> > has anyone tried to use IOCTL_IDE_PASS_THROUGH to perform an ATA write
> from
> > user mode? i’ve tried it for other ata commands such as READ SECTOR(s)
and
> > IDENTIFY and it works ok, but not for writes. i also can’t find much
> > documentation on the IOCTL.
> > thanks
>
> No, it’s not well documented. As you’ve discovered, IDE_PASS_THROUGH is
> broken. Look up ATA_PASS_THROUGH on this list and on Google. It’s not
> broken, and it is documented.
>
> Phil
> –
> Philip D. Barila Windows DDK MVP
> Seagate Technology, LLC
> (720) 684-1842
> As if I need to say it: Not speaking for Seagate.
> E-mail address is pointed at a domain squatter. Use reply-to instead.
>
>
>
>

“noeme” wrote in message news:xxxxx@ntdev…
>
> thanks for replies…
> i also tried ATA_PASS_THROUGH, but it is not supported for win 2000. is
> there no other way to issue ata commands? i read in another post about
> replacing the atapi.sys port driver. i’m new to device drivers so i wanted
> to be spared from making one.

If you haven’t searched the archives, then search them. This has been
explained several times. If you need to do it on Windows 2000, you either
have to resort to undocumented and unportable hackery, or you can wait for a
little while, and Microsoft will finish the port of APTI to Windows 2000.
But if you are going to wait on the APTI port for Windows 2000, you can use
Server 2003 as a development vehicle. Alternatively, you can ask Microsoft
PSS for the XP hotfix, and develop on that.

Phil

Philip D. Barila Windows DDK MVP
Seagate Technology, LLC
(720) 684-1842
As if I need to say it: Not speaking for Seagate.
E-mail address is pointed at a domain squatter. Use reply-to instead.

There is a hotfix for XP ATAPI, but it has not been ported back to 2000 as
of yet. You might talk to PSE for XP. SP2 for XP and SP5 for 2000 should
include this fix. As of now, without the fixes, you can only use ATA
passthrough on Server 2003. On XP, with the fix, you will need to build an
XP driver using the WNET NTDDSCSI.H file.


Gary G. Little
Seagate Technologies, LLC

“noeme” wrote in message news:xxxxx@ntdev…
>
> thanks for replies…
> i also tried ATA_PASS_THROUGH, but it is not supported for win 2000. is
> there no other way to issue ata commands? i read in another post about
> replacing the atapi.sys port driver. i’m new to device drivers so i wanted
> to be spared from making one.
>
> “Phil Barila” wrote in message
> news:xxxxx@ntdev…
> >
> > “noeme” wrote in message news:xxxxx@ntdev…
> > >
> > > hi,
> > > has anyone tried to use IOCTL_IDE_PASS_THROUGH to perform an ATA write
> > from
> > > user mode? i’ve tried it for other ata commands such as READ SECTOR(s)
> and
> > > IDENTIFY and it works ok, but not for writes. i also can’t find much
> > > documentation on the IOCTL.
> > > thanks
> >
> > No, it’s not well documented. As you’ve discovered, IDE_PASS_THROUGH is
> > broken. Look up ATA_PASS_THROUGH on this list and on Google. It’s not
> > broken, and it is documented.
> >
> > Phil
> > –
> > Philip D. Barila Windows DDK MVP
> > Seagate Technology, LLC
> > (720) 684-1842
> > As if I need to say it: Not speaking for Seagate.
> > E-mail address is pointed at a domain squatter. Use reply-to instead.
> >
> >
> >
> >
>
>
>
>