Bagikan melalui


Fungsi ChangerError (mcd.h)

ChangerError melakukan penanganan kesalahan khusus perangkat.

Sintaks

void ChangerError(
  PDEVICE_OBJECT      DeviceObject,
  PSCSI_REQUEST_BLOCK Srb,
  NTSTATUS            *Status,
  BOOLEAN             *Retry
);

Parameter

DeviceObject

Arahkan ke objek perangkat yang mewakili pengubah.

Srb

Penunjuk ke blok permintaan SCSI untuk operasi yang gagal.

Status

Menentukan alamat kode STATUS_XXX yang ditetapkan oleh sistem. Driver miniclass pengubah dapat mengubah status atau membiarkannya apa adanya.

Retry

Penunjuk ke bendera yang menunjukkan apakah akan mencoba kembali permintaan. Driver miniclass pengubah dapat mengatur bendera ini atau membiarkannya apa adanya.

Nilai kembali

Tidak ada

Keterangan

Rutinitas ini diperlukan.

Jika SRB gagal dengan status SCSI CHECK CONDITION, driver kelas SCSI memanggil rutinitas ChangerClassError driver kelas changer. ChangerClassError melakukan penanganan kesalahan independen perangkat dan memanggil rutinitas ChangerError driver changerclass.

ChangerErrorpertama-tama memeriksa Srb-SrbStatus> dengan SRB_STATUS_AUTOSENSE_VALID untuk memastikan buffer data pengertian valid. Jika demikian, ini memeriksa data pengertian di Srb-SenseInfoBuffer > untuk menentukan apakah akan memperbarui *Status dengan kode STATUS_XXXX yang lebih akurat dan/atau mengatur bendera Coba lagi sebelum kembali ke driver kelas pengubah. Jumlah coba lagi driver kelas changer menentukan apakah SRB benar-benar dicoba kembali.

Persyaratan

Persyaratan Nilai
Target Platform Desktop
Header mcd.h (termasuk Mcd.h, Ntddchgr.h)
IRQL PASSIVE_LEVEL