I
icsi
dear all:
I know MS provide IOCTL_IDE_PASS_THROUGH controlcode to send ata
command from user interface.
but I test that it only can return data in registers,like return status
at bCommandReg (see below).
When I want a command with buffer that conntaining returned data or
send data. it will failed.
How to do then ?
Thanks.
THis is the structs I used.
typedef struct
{
UCHAR bFeaturesReg;
UCHAR bSectorCountReg;
UCHAR bSectorNumberReg;
UCHAR bCylLowReg;
UCHAR bCylHighReg;
UCHAR bDriveHeadReg;
UCHAR bCommandReg;
UCHAR bReserved;
} IDEREGS, *PIDEREGS;
typedef struct
{
IDEREGS IdeReg;
ULONG DataBufferSize;
UCHAR DataBuffer[1];
} ATA_PASS_THROUGH;
I know MS provide IOCTL_IDE_PASS_THROUGH controlcode to send ata
command from user interface.
but I test that it only can return data in registers,like return status
at bCommandReg (see below).
When I want a command with buffer that conntaining returned data or
send data. it will failed.
How to do then ?
Thanks.
THis is the structs I used.
typedef struct
{
UCHAR bFeaturesReg;
UCHAR bSectorCountReg;
UCHAR bSectorNumberReg;
UCHAR bCylLowReg;
UCHAR bCylHighReg;
UCHAR bDriveHeadReg;
UCHAR bCommandReg;
UCHAR bReserved;
} IDEREGS, *PIDEREGS;
typedef struct
{
IDEREGS IdeReg;
ULONG DataBufferSize;
UCHAR DataBuffer[1];
} ATA_PASS_THROUGH;