Функция ScsiPortLogError (srb.h)
Подпрограмма ScsiPortLogError регистрирует ошибки в журнале системных событий, когда драйвер минипорта или его адаптер HBA обнаруживает ошибку SCSI.
Примечание
В будущем модели драйвера портов SCSI и драйвера для минипорта SCSI могут быть изменены или недоступны. Вместо этого используйте модели драйвера Storport и драйвера для минипорта Storport .
Синтаксис
SCSIPORT_API VOID ScsiPortLogError(
PVOID HwDeviceExtension,
PSCSI_REQUEST_BLOCK Srb,
UCHAR PathId,
UCHAR TargetId,
UCHAR Lun,
ULONG ErrorCode,
ULONG UniqueId
);
Параметры
HwDeviceExtension
[in] Указатель на расширение аппаратного устройства. Это область хранения для каждого адаптера, которую драйвер порта выделяет и инициализирует от имени драйвера мини-порта. Драйверы минипорта обычно хранят сведения, относящиеся к HBA, в этом расширении, например состояние адаптера шины и сопоставленные диапазоны доступа. Эта область доступна драйверу мини-порта в элементе DeviceExtension-HwDeviceExtension> объекта устройства HBA сразу после того, как драйвер минипорта вызывает ScsiPortInitialize. Драйвер порта освобождает эту память при удалении устройства.
Srb
[in, необязательный] Указатель на блок запроса SCSI , если он связан с ошибкой. В противном случае этот параметр имеет значение NULL.
PathId
[in] Определяет шину SCSI.
TargetId
[in] Определяет целевой контроллер или устройство в шине.
Lun
[in] Определяет номер логического устройства целевого устройства.
ErrorCode
[in] Указывает код ошибки. Этот параметр может иметь одно из следующих значений в качестве типа ошибки.
Значение | Значение |
---|---|
SP_BAD_FW_ERROR | Указывает, что драйвер обнаружил неисправное или старое встроенное ПО. Устройство не будет использоваться. |
SP_BAD_FW_WARNING | Указывает, что драйвер обнаружил карта со старым или плохим встроенным ПО, что может привести к снижению производительности или функциональности. |
SP_BUS_PARITY_ERROR | Указывает, что обнаружена ошибка четности шины SCSI. |
SP_BUS_TIME_OUT | Указывает, что истекло время ожидания подключения шины SCSI к логической единице. |
SP_INTERNAL_ADAPTER_ERROR | Указывает, что обнаружена внутренняя ошибка HBA. |
SP_INVALID_RESELECTION | Указывает, что логическая единица была выбрана непредвиденно или с недопустимым тегом очереди. |
SP_IRQ_NOT_RESPONDING | Указывает, что HBA не прерывается, когда ожидается. |
SP_PROTOCOL_ERROR | Указывает, что драйвер минипорта обнаружил ошибку протокола SCSI. |
SP_REQUEST_TIMEOUT | Указывает, что истекло время ожидания операции контроллера. |
SP_UNEXPECTED_DISCONNECT | Указывает, что целевой объект неожиданно отключен. |
UniqueId
[in] Указывает уникальный идентификатор ошибки. Это значение отличает текущую ошибку от других ошибок с тем же кодом ошибки. Для некоторых драйверов минипорта это определяет строку кода, в которой была обнаружена ошибка. Для других это дополнительные сведения, возвращаемые HBA.
Возвращаемое значение
None
Remarks
Драйвер минипорта должен регистрировать все реальные ошибки оборудования. Однако он не должен регистрировать распространенные операционные ошибки, такие как истечение времени ожидания выбора или сброс шины.
Требования
Требование | Значение |
---|---|
Целевая платформа | Персональный компьютер |
Верхняя часть | srb.h (включая Miniport.h, Scsi.h) |
Библиотека | Scsiport.lib |