Bagikan melalui


struktur SCSI_PASS_THROUGH (ntddscsi.h)

Struktur SCSI_PASS_THROUGH digunakan bersama dengan permintaan IOCTL_SCSI_PASS_THROUGH untuk menginstruksikan driver port untuk mengirim perintah SCSI yang disematkan ke perangkat target.

Catatan Driver port SCSI dan model driver miniport SCSI dapat diubah atau tidak tersedia di masa mendatang. Sebagai gantinya, sebaiknya gunakan driver Storport dan model driver miniport Storport .
 

Sintaks

typedef struct _SCSI_PASS_THROUGH {
  USHORT    Length;
  UCHAR     ScsiStatus;
  UCHAR     PathId;
  UCHAR     TargetId;
  UCHAR     Lun;
  UCHAR     CdbLength;
  UCHAR     SenseInfoLength;
  UCHAR     DataIn;
  ULONG     DataTransferLength;
  ULONG     TimeOutValue;
  ULONG_PTR DataBufferOffset;
  ULONG     SenseInfoOffset;
  UCHAR     Cdb[16];
} SCSI_PASS_THROUGH, *PSCSI_PASS_THROUGH;

Anggota

Length

Berisi nilai sizeof(SCSI_PASS_THROUGH).

ScsiStatus

Melaporkan status SCSI yang dikembalikan oleh HBA atau perangkat target.

PathId

Menunjukkan port atau bus SCSI untuk permintaan tersebut.

TargetId

Menunjukkan pengontrol target atau perangkat di bus.

Lun

Menunjukkan nomor unit logis perangkat.

CdbLength

Menunjukkan ukuran dalam byte blok deskriptor perintah SCSI.

SenseInfoLength

Menunjukkan ukuran dalam byte buffer request-sense.

DataIn

Bidang ini harus memiliki salah satu dari tiga nilai:

#######

DataTransferLength

Menunjukkan ukuran dalam byte buffer data. Banyak perangkat mentransfer potongan data dengan panjang yang telah ditentukan sebelumnya. Nilai dalam DataTransferLength harus merupakan kelipatan integral dari panjang minimum yang telah ditentukan sebelumnya ini yang ditentukan oleh perangkat. Jika underrun terjadi, driver miniport harus memperbarui anggota ini ke jumlah byte yang benar-benar ditransfer.

TimeOutValue

Menunjukkan interval dalam hitungan detik yang dapat dijalankan permintaan sebelum driver port menganggapnya kehabisan waktu.

DataBufferOffset

Berisi offset dari awal struktur ini ke buffer data. Offset harus mematuhi persyaratan penyelarasan data perangkat.

SenseInfoOffset

Offset dari awal struktur ini ke buffer request-sense.

Cdb[16]

Menentukan blok deskriptor perintah SCSI yang akan dikirim ke perangkat target.

Keterangan

Struktur SCSI_PASS_THROUGH digunakan dengan IOCTL_SCSI_PASS_THROUGH, yang merupakan permintaan kontrol perangkat yang di-buffer. Untuk melewati buffering dalam memori sistem, pemanggil harus menggunakan IOCTL_SCSI_PASS_THROUGH_DIRECT. Saat menangani permintaan IOCTL_SCSI_PASS_THROUGH_DIRECT, sistem mengunci buffer dalam memori pengguna dan perangkat mengakses memori ini secara langsung.

Anggota SCSI_PASS_THROUGH berkorespondensi kira-kira dengan anggota struktur SCSI_REQUEST_BLOCK . Nilai anggota DataIn sesuai dengan bendera SCSI_IOCTL_DATA_IN, SCSI_IOCTL_DATA_OUT, dan SCSI_IOCTL_DATA_UNSPECIFIED yang ditetapkan untuk anggota SrbFlags dari SCSI_REQUEST_BLOCK.

Persyaratan

Persyaratan Nilai
Header ntddscsi.h (termasuk Ntddscsi.h)

Lihat juga

IOCTL_SCSI_PASS_THROUGH

IOCTL_SCSI_PASS_THROUGH_DIRECT

SCSI_PASS_THROUGH_DIRECT

SCSI_REQUEST_BLOCK