aeroshanks
09-22-2005, 10:27 AM
Hi,
My platform is Win 2000. I need to send Reset and Abort SCSI commands to a RAID device. How can I do so using the DeviceIoControl() API?
More specifically, what are the specific values for the various parameters I need to use when calling this API?
BOOL DeviceIoControl(
HANDLE hDevice,
DWORD dwIoControlCode,
LPVOID lpInBuffer,
DWORD nInBufferSize,
LPVOID lpOutBuffer,
DWORD nOutBufferSize,
LPDWORD lpBytesReturned,
LPOVERLAPPED lpOverlapped
);
I have the handle to the device, and I know IOCTL_SCSI_MINIPORT is the control code to be used. What should I store in "lpInBuffer", etc? Is all this info specific to my device or is there a standard way to execute Abort, Reset and other SCSI Task Management functions?
Also, if anyone has any sample code for this, I would be grateful if you could share it with me.
There's hardly any info on the net regarding all this.
Thanks,
Shankar
My platform is Win 2000. I need to send Reset and Abort SCSI commands to a RAID device. How can I do so using the DeviceIoControl() API?
More specifically, what are the specific values for the various parameters I need to use when calling this API?
BOOL DeviceIoControl(
HANDLE hDevice,
DWORD dwIoControlCode,
LPVOID lpInBuffer,
DWORD nInBufferSize,
LPVOID lpOutBuffer,
DWORD nOutBufferSize,
LPDWORD lpBytesReturned,
LPOVERLAPPED lpOverlapped
);
I have the handle to the device, and I know IOCTL_SCSI_MINIPORT is the control code to be used. What should I store in "lpInBuffer", etc? Is all this info specific to my device or is there a standard way to execute Abort, Reset and other SCSI Task Management functions?
Also, if anyone has any sample code for this, I would be grateful if you could share it with me.
There's hardly any info on the net regarding all this.
Thanks,
Shankar