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

Vedi anche

SCSIPortNotification