SCSI_PASS_THROUGH_DIRECT.cs 851 B

1234567891011121314151617181920212223242526272829303132
  1. using System;
  2. using System.Runtime.InteropServices;
  3. namespace SCSI.Win32
  4. {
  5. [StructLayout(LayoutKind.Sequential)]
  6. public class SCSI_PASS_THROUGH_DIRECT
  7. {
  8. public const int CdbBufferLength = 16;
  9. public ushort Length;
  10. public byte ScsiStatus;
  11. public byte PathId;
  12. public byte TargetId;
  13. public byte Lun;
  14. public byte CdbLength;
  15. public byte SenseInfoLength;
  16. public byte DataIn;
  17. public uint DataTransferLength;
  18. public uint TimeOutValue;
  19. public IntPtr DataBuffer;
  20. public uint SenseInfoOffset;
  21. [MarshalAs(UnmanagedType.ByValArray, SizeConst = CdbBufferLength)]
  22. public byte[] Cdb;
  23. public SCSI_PASS_THROUGH_DIRECT()
  24. {
  25. Cdb = new byte[CdbBufferLength];
  26. }
  27. }
  28. }