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 |