스토리지 클래스 드라이버가 있는 Storport의 SRB 인터페이스

스토리지 클래스 드라이버 및 기타 상위 수준 구성 요소는 SCSI SRB(요청 블록)를 빌드하여 Storport 드라이버와 통신합니다. SRB에는 SCSI CDB(명령 설명자 블록) 및 디바이스(있는 경우)에서 데이터를 전송하는 데 사용되는 데이터 버퍼에 대한 포인터가 포함됩니다. SCSI 명령이 Check Condition 상태 실패할 경우 SCSI 센스 데이터를 보유하는 데 사용되는 센스 버퍼에 대한 포인터가 포함될 수 있습니다. SRB에 대한 자세한 내용은 SCSI_REQUEST_BLOCK 참조하세요. Storage 클래스 드라이버는 만든 SRB를 IRP의 Storport에 전달하고 MajorFunction 멤버는 IRP_MJ_SCSI. SRB를 포트 드라이버에 전달하기 전에 스토리지 클래스 드라이버가 SRB를 빌드하기 위해 수행해야 하는 단계에 대한 설명은 스토리지 클래스 드라이버의 BuildRequest 루틴을 참조하세요.

스택 아래로 SRB를 전달하기 전에 Storport는 SRB의 특정 값(예: 경로, 대상 번호 및 대상 디바이스의 논리 단위 번호)을 설정합니다.

IDE/ATAPI 및 IEEE 1394 버스에 대한 시스템 제공 포트 드라이버와 같은 다른 포트 드라이버와 달리 Storport는 기본 어댑터로 전달하기 전에 수신하는 SRB의 CDB(명령 설명자 블록)를 다른 형식으로 변환할 필요가 없습니다. Storport는 일부 대상 관련 정보를 SRB에 추가하고 CDB가 변경되지 않은 미니포트 드라이버에 전달합니다. 따라서 Storport는 CDB가 포함된 SRB를 스택 아래로 전달하기만 하면 됩니다.

이러한 이유로 스토리지 클래스 드라이버와 Storport 간의 SRB 인터페이스의 대부분의 측면은 스토리지 클래스 및 스토리지 미니포트 드라이버 및 그에 수반되는 참조 자료에 대한 일반 설명서에 설명되어 있습니다. 스토리지 클래스 드라이버와 Storport-miniport 드라이버 쌍 간의 SRB 인터페이스와 관련된 섹션 목록은 Storport Miniport Drivers를 사용하는 Storport의 인터페이스를 참조하세요.