Funzione SCSIPortLogError (srb.h)
La routine SCSIPortLogError registra gli errori nel registro eventi di sistema quando un driver miniport o il relativo HBA rileva una condizione di errore SCSI.
Nota
I modelli di driver di porta SCSI e miniport SCSI possono essere modificati o non disponibili in futuro. Usare invece i modelli di driver Storport e Miniport Storport.
Sintassi
SCSIPORT_API VOID ScsiPortLogError(
PVOID HwDeviceExtension,
PSCSI_REQUEST_BLOCK Srb,
UCHAR PathId,
UCHAR TargetId,
UCHAR Lun,
ULONG ErrorCode,
ULONG UniqueId
);
Parametri
HwDeviceExtension
[in] Puntatore all'estensione del dispositivo hardware. Si tratta di un'area di archiviazione per HBA che il driver di porta alloca e inizializza per conto del driver miniport. I driver miniport in genere archiviano informazioni specifiche di HBA in questa estensione, ad esempio lo stato dell'HBA e gli intervalli di accesso mappati di HBA. Questa area è disponibile per il driver miniport nel membro DeviceExtension-HwDeviceExtension> dell'oggetto dispositivo HBA immediatamente dopo che il driver miniport chiama SCSIPortInitialize. Il driver di porta libera questa memoria quando rimuove il dispositivo.
Srb
[in, facoltativo] Puntatore a un blocco di richiesta SCSI se è associato all'errore. In caso contrario, questo parametro è NULL.
PathId
[in] Identifica il bus SCSI.
TargetId
[in] Identifica il controller di destinazione o il dispositivo nel bus.
Lun
[in] Identifica il numero di unità logica del dispositivo di destinazione.
ErrorCode
[in] Specifica un codice di errore. Questo parametro può essere uno dei valori seguenti come tipo di errore.
Valore | Significato |
---|---|
SP_BAD_FW_ERROR | Indica che il driver ha rilevato un firmware non valido o precedente. Il dispositivo non verrà usato. |
SP_BAD_FW_WARNING | Indica che il driver ha rilevato una scheda con firmware precedente o non valido, che può causare prestazioni o funzionalità ridotte. |
SP_BUS_PARITY_ERROR | Indica che è stato rilevato un errore di parità del bus SCSI. |
SP_BUS_TIME_OUT | Indica una connessione del bus SCSI a un timeout logico. |
SP_INTERNAL_ADAPTER_ERROR | Indica che è stato rilevato un errore HBA interno. |
SP_INVALID_RESELECTION | Indica un'unità logica rielezione in modo imprevisto o con un tag di coda non valido. |
SP_IRQ_NOT_RESPONDING | Indica che l'HBA non interrompe quando previsto. |
SP_PROTOCOL_ERROR | Indica che il driver miniport ha rilevato un errore del protocollo del bus SCSI. |
SP_REQUEST_TIMEOUT | Indica che un'operazione al controller è scaduta. |
SP_UNEXPECTED_DISCONNECT | Indica che una destinazione è disconnessa in modo imprevisto. |
UniqueId
[in] Specifica un identificatore univoco per l'errore. Questo valore differenzia l'errore corrente da altri errori con lo stesso ErrorCode. Per alcuni driver miniport, questo identifica la riga di codice in cui è stato rilevato l'errore. Per altri, sono informazioni aggiuntive restituite dall'HBA.
Valore restituito
nessuno
Osservazioni
Un driver miniport deve registrare tutti gli errori hardware reali. Tuttavia, non dovrebbe registrare errori operativi comuni, ad esempio timeout di selezione o reimpostazioni del bus.
Requisiti
Requisito | Valore |
---|---|
Piattaforma di destinazione | Desktop |
Intestazione | srb.h (include Miniport.h, SCSI.h) |
Libreria | Scsiport.lib |