TAPE_ERROR_ROUTINE funzione di callback (minitape.h)
TAPE_ERROR_ROUTINE fornisce la gestione degli errori specifici del dispositivo quando viene completata una SRB con uno stato di errore. Questa routine è facoltativa.
Sintassi
TAPE_ERROR_ROUTINE TapeErrorRoutine;
void TapeErrorRoutine(
[in] PVOID MinitapeExtension,
[in] PSCSI_REQUEST_BLOCK Srb,
[in, out] PTAPE_STATUS TapeStatus
)
{...}
Parametri
[in] MinitapeExtension
Puntatore all'estensione minitape specifica del driver. Questo è NULL se il driver miniclasse non ha richiesto un'estensione minitape quando è stata inizializzata.
[in] Srb
Puntatore a SRB per l'operazione non riuscita.
[in, out] TapeStatus
Puntatore al TAPE_STATUS impostato dal driver della classe nastro. Il driver miniclasse nastro può modificare il TAPE_STATUS o lasciarlo invariato.
Valore restituito
nessuno
Osservazioni
La maggior parte dei driver di miniclasse nastro non fornisce una routine TAPE_ERROR_ROUTINE perché i codici TAPE_STATUS impostati dal driver della classe nastro sono appropriati.
Per alcuni dispositivi, tuttavia, un driver miniclasse nastro può identificare un codice di errore più appropriato rispetto al driver della classe nastro. Ad esempio, se il driver della classe nastro restituisce TAPE_STATUS_BUS_RESET, il driver miniclasse nastro potrebbe essere in grado di determinare che il problema reale è rappresentato in modo più accurato da TAPE_STATUS_NO_MEDIA per alcuni dispositivi.
Un driver miniclasse nastro specifica facoltativamente un punto di ingresso per la sua routine TAPE_ERROR_ROUTINE nella struttura TAPE_INIT_DATA_EX passa a TapeClassInitialize dalla routine DriverEntry . Per un driver miniclasse, quando si verifica un errore durante un comando di lettura, scrittura o controllo del dispositivo, il driver di classe nastro imposta un codice TAPE_STATUS appropriato e chiama la routine TAPE_ERROR_ROUTINE del driver miniclass con l'estensione minitape, la SRB non riuscita e il codice TAPE_STATUS restituito.
TAPE_ERROR_ROUTINE determina se modificare lo stato fornito dal driver della classe nastro in base ai parametri di input e alla relativa conoscenza del dispositivo. Se il bit di SRB_STATUS_AUTOSENSE_VALID è impostato in Srb-SrbStatus>, la SRB contiene informazioni sul senso SCSI in SenseInfoBuffer. La lunghezza del buffer è SenseInfoBufferLength. La routine TAPE_ERROR_ROUTINE deve esaminare queste informazioni insieme a SrbStatus e SCSIStatus in SRB per determinare se modificare la TAPE_STATUS restituita.
Requisiti
Requisito | Valore |
---|---|
Piattaforma di destinazione | Desktop |
Intestazione | minitape.h (include Minitape.h) |
Vedi anche
Commenti e suggerimenti
https://aka.ms/ContentUserFeedback.
Presto disponibile: Nel corso del 2024 verranno gradualmente disattivati i problemi di GitHub come meccanismo di feedback per il contenuto e ciò verrà sostituito con un nuovo sistema di feedback. Per altre informazioni, vedereInvia e visualizza il feedback per