Funzione ChangerError (mcd.h)

ChangerError esegue la gestione degli errori specifica del dispositivo.

Sintassi

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

Parametri

DeviceObject

Puntatore all'oggetto dispositivo che rappresenta il modificatore.

Srb

Puntatore al blocco di richiesta SCSI per l'operazione non riuscita.

Status

Specifica l'indirizzo del codice STATUS_XXX impostato dal sistema. Il driver miniclasse del modificatore può modificare lo stato o lasciarlo così come è.

Retry

Puntatore a un flag che indica se ripetere la richiesta. Il driver miniclasse del modificatore può impostare questo flag o lasciarlo così come è.

Valore restituito

nessuno

Osservazioni

Questa routine è obbligatoria.

Se un SRB ha esito negativo con stato SCSI CHECK CONDITION, il driver di classe SCSI chiama la routine ChangerClassError del driver di classe del modificatore. ChangerClassError esegue la gestione degli errori indipendente dal dispositivo e chiama la routine ChangerError del driver changer miniclass .

ChangerError controlla innanzitutto Srb-SrbStatus> con SRB_STATUS_AUTOSENSE_VALID per assicurarsi che il buffer dei dati sia valido. In tal caso, controlla i dati di senso in Srb-SenseInfoBuffer> per determinare se aggiornare *Status con un codice STATUS_XXX più accurato e/o impostare il flag Riprova prima di tornare al driver di classe del modificatore. Il conteggio dei tentativi del driver di classe del modificatore determina se l'SRB viene effettivamente ritentato.

Requisiti

Requisito Valore
Piattaforma di destinazione Desktop
Intestazione mcd.h (include Mcd.h, Ntddchgr.h)
IRQL PASSIVE_LEVEL