/// <summary>
/// Wrapper for the ScsiPassThrough command
/// </summary>
[StructLayout(LayoutKind.Sequential)]
public class ScsiPassThroughWithBuffers {
/// <summary>The SPT we're wrapping</summary>
public ScsiPassThrough spt;
/// <summary>Used to align the size of the structure</summary>
public UInt32 Filler;
/// <summary>The buffer to write sense info into</summary>
[MarshalAs(UnmanagedType.ByValArray, SizeConst=32)]
public byte[] ucSenseBuf;
/// <summary>The buffer to write output data into</summary>
[MarshalAs(UnmanagedType.ByValArray, SizeConst=512)]
public byte[] ucDataBuf;
/// <summary>
/// Constructor for the command to send to the robot
/// </summary>
/// <param name="target">The SCSI target</param>
/// <param name="bus">The SCSI bus</param>
/// <param name="lun">The SCSI lun</param>
/// <param name="cdbLen">The length of the CDB to be sent</param>
/// <param name="dataTransferLength">The length to use</param>
public ScsiPassThroughWithBuffers(byte target, byte bus, byte lun, byte cdbLen, UInt32 dataTransferLength) {
spt = new ScsiPassThrough(target, bus, lun, cdbLen, dataTransferLength);
Filler = 0;
ucSenseBuf = new byte[32];
ucDataBuf = new byte[512];
}
}
Structure ScsiPassThroughWithBuffers
Public TODO
End Structure
None.
None.