다음을 통해 공유


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별 스토리지 영역입니다. 미니포트 드라이버는 일반적으로 HBA 상태 및 HBA의 매핑된 액세스 범위와 같은 HBA 관련 정보를 이 확장에 저장합니다. 이 영역은 미니포트 드라이버가 ScsiPortInitialize를 호출한 직후 HBA 디바이스 개체의 DeviceExtension-HwDeviceExtension> 멤버의 미니포트 드라이버에서 사용할 수 있습니다. 포트 드라이버는 디바이스를 제거할 때 이 메모리를 해제합니다.

Srb

[in, optional] 오류와 연결된 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] 오류에 대한 고유 식별자를 지정합니다. 이 값은 동일한 ErrorCode를 사용하여 현재 오류를 다른 오류와 구분합니다. 일부 미니포트 드라이버의 경우 오류가 검색된 코드 줄을 식별합니다. 다른 사용자의 경우 HBA에서 반환하는 추가 정보입니다.

반환 값

없음

설명

미니포트 드라이버는 모든 실제 하드웨어 오류를 기록해야 합니다. 그러나 선택 시간 제한 또는 버스 재설정과 같은 일반적인 작동 오류를 기록해서는 안 됩니다.

요구 사항

요구 사항
대상 플랫폼 데스크톱
머리글 srb.h(Miniport.h, Scsi.h 포함)
라이브러리 Scsiport.lib

추가 정보

ScsiPortNotification