ScsiPortLogError 함수(srb.h)
ScsiPortLogError 루틴은 미니포트 드라이버 또는 해당 HBA가 SCSI 오류 조건을 검색할 때 시스템 이벤트 로그에 오류를 기록합니다.
구문
SCSIPORT_API VOID ScsiPortLogError(
[in] PVOID HwDeviceExtension,
PSCSI_REQUEST_BLOCK Srb,
[in] UCHAR PathId,
[in] UCHAR TargetId,
[in] UCHAR Lun,
[in] ULONG ErrorCode,
[in] ULONG UniqueId
);
매개 변수
[in] HwDeviceExtension
하드웨어 디바이스 확장에 대한 포인터입니다. 포트 드라이버가 미니포트 드라이버를 대신하여 할당하고 초기화하는 HBA별 스토리지 영역입니다. 미니포트 드라이버는 일반적으로 HBA 상태 및 HBA의 매핑된 액세스 범위와 같은 HBA 관련 정보를 이 확장에 저장합니다. 이 영역은 미니포트 드라이버가 ScsiPortInitialize를 호출한 직후 HBA 디바이스 개체의 DeviceExtension->HwDeviceExtension 멤버의 미니포트 드라이버에서 사용할 수 있습니다. 포트 드라이버는 디바이스를 제거할 때 이 메모리를 해제합니다.
Srb
[in] PathId
SCSI 버스를 식별합니다.
[in] TargetId
버스의 대상 컨트롤러 또는 디바이스를 식별합니다.
[in] Lun
대상 디바이스의 논리적 단위 번호를 식별합니다.
[in] ErrorCode
다음 값 중 하나를 오류 유형으로 나타내는 오류 코드를 지정합니다.
| 값 | 의미 |
|---|---|
| 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 | 대상이 예기치 않게 연결이 끊어졌습니다. |
[in] UniqueId
오류에 대한 고유 식별자를 지정합니다. 이 값은 현재 오류를 동일한 ErrorCode의 다른 오류와 구분합니다. 일부 미니포트 드라이버의 경우 오류가 검색된 코드 줄을 식별합니다. 다른 사용자의 경우 HBA에서 반환하는 추가 정보입니다.
반환 값
없음
설명
미니포트 드라이버는 모든 실제 하드웨어 오류를 기록해야 합니다. 그러나 선택 시간 제한 또는 버스 재설정과 같은 일반적인 운영 오류를 기록해서는 안 됩니다.
요구 사항
| 대상 플랫폼 | 데스크톱 |
| 헤더 | srb.h(Miniport.h, Scsi.h 포함) |
| 라이브러리 | Scsiport.lib |
참고 항목
피드백
다음에 대한 사용자 의견 제출 및 보기