IOCTL_SCSI_GET_CAPABILITIES IOCTL(ntddscsi.h)
기본 SCSI HBA의 기능 및 제한 사항을 반환합니다. 가장 중요한 정보는 MaximumTransferLength 및 AlignmentMask 멤버에 반환됩니다. 이러한 제한 사항을 적용하려면 클래스 드라이버와 IOCTL_SCSI_PASS_THROUGH 및 IOCTL_SCSI_PASS_THROUGH_DIRECT 사용자가 필요합니다.
레거시 드라이버만 이 요청을 실행할 수 있습니다. 포트 드라이버에서 만든 PDO로 전송되는 경우 요청이 실패합니다.
SCSI 기능 데이터를 얻으려면 플러그 앤 플레이 드라이버는 드라이버가 추가된 각 디바이스(즉, 드라이버가 AddDevice 호출을 수신한 각 디바이스)에 대해 PDO에 STORAGE_ADAPTER_DESCRIPTOR 데이터에 대한 IOCTL_STORAGE_QUERY_PROPERTY 요청을 실행해야 합니다. 레거시 드라이버는 이 요청을 포트 드라이버로 전달해야 합니다. 어댑터에 대한 FDO로 전송되는 경우 이 요청이 실패합니다.
주 코드
입력 버퍼
없음.
입력 버퍼 길이
없음.
출력 버퍼
업데이트된 IO_SCSI_CAPABILITIES 정보는 Irp->AssociatedIrp.SystemBuffer버퍼에 반환됩니다.
출력 버퍼 길이
I/O 스택 위치에 있는 parameters.DeviceIoControl.OutputBufferLength 버퍼의 크기(바이트)를 나타내며 >= (IO_SCSI_CAPABILITIES)의sizeof여야 합니다.
상태 블록
정보 필드에는 출력 버퍼에 반환된 바이트 수가 포함됩니다. 상태 필드는 작업의 결과를 나타냅니다.
요구 사항
요구 | 값 |
---|---|
헤더 | ntddscsi.h(Ntddscsi.h 포함) |