Compartir a través de


Función ScsiPortLogError (srb.h)

El ScsiPortLogError rutina registra errores en el registro de eventos del sistema cuando un controlador de miniporte o su HBA detecta una condición de error SCSI.

Nota

Los modelos de controlador de puerto SCSI y de miniporte SCSI pueden modificarse o no estar disponibles en el futuro. Use el del controlador storport de y modelos de controlador de storport.

Sintaxis

SCSIPORT_API VOID ScsiPortLogError(
  PVOID               HwDeviceExtension,
  PSCSI_REQUEST_BLOCK Srb,
  UCHAR               PathId,
  UCHAR               TargetId,
  UCHAR               Lun,
  ULONG               ErrorCode,
  ULONG               UniqueId
);

Parámetros

HwDeviceExtension

[in] Puntero a la extensión de dispositivo de hardware. Se trata de un área de almacenamiento por HBA que el controlador de puerto asigna e inicializa en nombre del controlador de miniport. Los controladores de miniportar suelen almacenar información específica de HBA en esta extensión, como el estado del HBA y los intervalos de acceso asignados del HBA. Esta área está disponible para el controlador de miniport en el DeviceExtension->HwDeviceExtension miembro del objeto de dispositivo del HBA inmediatamente después de que el controlador de miniport llame a ScsiPortInitialize. El controlador de puerto libera esta memoria cuando quita el dispositivo.

Srb

[in, opcional] Puntero a un bloque de solicitud SCSI de si se asocia uno al error. De lo contrario, este parámetro es NULL.

PathId

[in] Identifica el bus SCSI.

TargetId

[in] Identifica el controlador de destino o el dispositivo en el bus.

Lun

[in] Identifica el número de unidad lógica del dispositivo de destino.

ErrorCode

[in] Especifica un código de error. Este parámetro puede ser uno de los siguientes valores como el tipo de error.

Valor Significado
SP_BAD_FW_ERROR Indica que el controlador ha detectado un firmware incorrecto o antiguo. El dispositivo no se usará.
SP_BAD_FW_WARNING Indica que el controlador ha detectado una tarjeta con firmware antiguo o incorrecto, lo que puede dar lugar a una reducción del rendimiento o la funcionalidad.
SP_BUS_PARITY_ERROR Indica que se detectó un error de paridad de bus SCSI.
SP_BUS_TIME_OUT Indica una conexión de bus SCSI a una unidad lógica agota el tiempo de espera.
SP_INTERNAL_ADAPTER_ERROR Indica que se detectó un error de HBA interno.
SP_INVALID_RESELECTION Indica que una unidad lógica se vuelve a seleccionar inesperadamente o con una etiqueta de cola no válida.
SP_IRQ_NOT_RESPONDING Indica que el HBA no se interrumpe cuando se espera.
SP_PROTOCOL_ERROR Indica que el controlador de miniporte detectó un error de protocolo de bus SCSI.
SP_REQUEST_TIMEOUT Indica que se agota el tiempo de espera de una operación en el controlador.
SP_UNEXPECTED_DISCONNECT Indica que un destino se desconecta de forma inesperada.

UniqueId

[in] Especifica un identificador único para el error. Este valor diferencia el error actual de otros errores con la misma ErrorCode. Para algunos controladores de miniporte, esto identifica la línea de código donde se detectó el error. Para otros, es información adicional devuelta por el HBA.

Valor devuelto

Ninguno

Observaciones

Un controlador de miniport debe registrar todos los errores de hardware reales. Sin embargo, no debe registrar errores operativos comunes, como tiempos de espera de selección o restablecimientos de bus.

Requisitos

Requisito Valor
de la plataforma de destino de Escritorio
encabezado de srb.h (include Miniport.h, Scsi.h)
biblioteca de Scsiport.lib

Consulte también

ScsiPortNotification