Compartir a través de


Función ScsiPortLogError (srb.h)

La rutina ScsiPortLogError 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 controlador de minipuerto SCSI pueden modificarse o no estar disponibles en el futuro. En su lugar, use el controlador Storport y los modelos de controlador de minipuerto 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 minipuerto. Los controladores de minipuerto 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 minipuerto en el miembro DeviceExtension-HwDeviceExtension> del objeto de dispositivo del HBA inmediatamente después de que el controlador de miniporte llame a ScsiPortInitialize. El controlador de puerto libera esta memoria cuando quita el dispositivo.

Srb

[in, opcional] Puntero a un bloque de solicitud SCSI si hay uno asociado 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 valores siguientes como el tipo de error.

Valor Significado
SP_BAD_FW_ERROR Indica que el controlador ha detectado un firmware incorrecto o antiguo. No se usará el dispositivo.
SP_BAD_FW_WARNING Indica que el controlador ha detectado una tarjeta con firmware antiguo o incorrecto, lo que puede provocar un rendimiento o una funcionalidad reducidos.
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 interno de HBA.
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 minipuerto detectó un error de protocolo de bus SCSI.
SP_REQUEST_TIMEOUT Indica que se ha agotado el tiempo de espera de una operación para el controlador.
SP_UNEXPECTED_DISCONNECT Indica que un destino se desconecta inesperadamente.

UniqueId

[in] Especifica un identificador único para el error. Este valor diferencia el error actual de otros errores con el mismo ErrorCode. Para algunos controladores de minipuerto, 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

None

Observaciones

Un controlador de minipuerto 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 Value
Plataforma de destino Escritorio
Encabezado srb.h (incluye Miniport.h, Scsi.h)
Library Scsiport.lib

Consulte también

ScsiPortNotification