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 |