SendASPI32Command Function

Prototype: DWORD SendASPI32Command(LPSRB)

Declaration: LPSRB lpSRB;

The SendASPI32Command function handles all SCSI I/O requests. A command code is used to specify the type of I/O requested. SendASPI32Command is called with a pointer to a SCSI Request Block (SRB) structure. While SRB definition can vary depending on the ASPI command code, all SRBs include a standard SRB header:

typedef struct {

 BYTE  SRB_Cmd;      // ASPI command code
 BYTE  SRB_Status;   // ASPI command status byte
 BYTE  SRB_HaId;     // ASPI host adapter number
 BYTE  SRB_Flags;    // ASPI request flags
 DWORD SRB_Hdr_Rsvd; // Reserved, MUST = 0

} SRB_Header;

The SRB_Cmd field must contain the command code for the desired SCSI I/O operation. Each of these commands is described in the following sections. Possible values for SRB_Cmd include the following:

SC_HA_INQUIRY
SC_GET_DEV_TYPE
SC_EXEC_SCSI_CMD
SC_ABORT_SRB
SC_RESET_DEV
SC_GET_DISK_INFO

The SC_GET_DISK_INFO command is not used with Windows NT.