다음을 통해 공유


IOCTL_SCSI_GET_CAPABILITIES IOCTL(ntddscsi.h)

기본 SCSI HBA의 기능 및 제한 사항을 반환합니다. 가장 중요한 정보는 MaximumTransferLengthAlignmentMask 멤버에 반환됩니다. 이러한 제한 사항을 적용하려면 클래스 드라이버와 IOCTL_SCSI_PASS_THROUGHIOCTL_SCSI_PASS_THROUGH_DIRECT 사용자가 필요합니다.

레거시 드라이버만 이 요청을 실행할 수 있습니다. 포트 드라이버에서 만든 PDO로 전송되는 경우 요청이 실패합니다.

SCSI 기능 데이터를 얻으려면 플러그 앤 플레이 드라이버는 드라이버가 추가된 각 디바이스(즉, 드라이버가 AddDevice 호출을 수신한 각 디바이스)에 대해 PDO에 STORAGE_ADAPTER_DESCRIPTOR 데이터에 대한 IOCTL_STORAGE_QUERY_PROPERTY 요청을 실행해야 합니다. 레거시 드라이버는 이 요청을 포트 드라이버로 전달해야 합니다. 어댑터에 대한 FDO로 전송되는 경우 이 요청이 실패합니다.

참고 SCSI 포트 드라이버 및 SCSI 미니포트 드라이버 모델은 나중에 변경되거나 사용할 수 없습니다. 대신 Storport 드라이버 사용하고 storport 미니포트 드라이버 모델을 것이 좋습니다.
 

주 코드

IRP_MJ_DEVICE_CONTROL

입력 버퍼

없음.

입력 버퍼 길이

없음.

출력 버퍼

업데이트된 IO_SCSI_CAPABILITIES 정보는 Irp->AssociatedIrp.SystemBuffer버퍼에 반환됩니다.

출력 버퍼 길이

I/O 스택 위치에 있는 parameters.DeviceIoControl.OutputBufferLength 버퍼의 크기(바이트)를 나타내며 >= (IO_SCSI_CAPABILITIES)의sizeof여야 합니다.

상태 블록

정보 필드에는 출력 버퍼에 반환된 바이트 수가 포함됩니다. 상태 필드는 작업의 결과를 나타냅니다.

요구 사항

요구
헤더 ntddscsi.h(Ntddscsi.h 포함)

참고 항목

IO_SCSI_CAPABILITIES