IOCTL_SCSI_GET_CAPABILITIES IOCTL (ntddscsi.h)

返回基础 SCSI HBA 的功能和限制。 MaximumTransferLengthAlignmentMask 成员中返回最重要的信息。 IOCTL_SCSI_PASS_THROUGHIOCTL_SCSI_PASS_THROUGH_DIRECT 的类驱动程序和用户必须遵循这些限制。

只有旧驱动程序才能发出此请求。 如果请求发送到端口驱动程序创建的 PDO,则请求将失败。

若要获取 SCSI 功能数据,即插即用驱动程序必须针对已向其添加驱动程序的每个设备发出 STORAGE_ADAPTER_DESCRIPTOR 数据 IOCTL_STORAGE_QUERY_PROPERTY 请求(也就是说,驱动程序已接收 AddDevice 调用)。 旧驱动程序应将此请求转发到端口驱动程序。 如果请求发送到适配器的 FDO,则此请求将失败。

注意 SCSI 端口驱动程序和 SCSI 微型端口驱动程序模型将来可能会更改或不可用。 相反,我们建议使用 Storport 驱动程序Storport 微型端口 驱动程序模型。
 

主要代码

IRP_MJ_DEVICE_CONTROL

输入缓冲区

没有。

输入缓冲区长度

没有。

输出缓冲区

更新 IO_SCSI_CAPABILITIES 信息返回到 Irp->AssociatedIrp.SystemBuffer的缓冲区。

输出缓冲区长度

I/O 堆栈位置中的 parameters.DeviceIoControl.OutputBufferLength 指示缓冲区的大小(以字节为单位),缓冲区的大小必须为 >= sizeof(IO_SCSI_CAPABILITIES)。

状态块

信息 字段包含输出缓冲区中返回的字节数。 状态 字段指示作的结果。

要求

要求 价值
标头 ntddscsi.h (包括 Ntddscsi.h)

另请参阅

IO_SCSI_CAPABILITIES