IOCTL_SCSI_GET_CAPABILITIES IOCTL (ntddscsi.h)

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

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

若要获取 SCSI 功能数据,即插即用驱动程序必须为驱动程序已添加到的每个设备的 PDO 发出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) 。

状态块

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

要求

要求
Header ntddscsi.h (包括 Ntddscsi.h)

另请参阅

IO_SCSI_CAPABILITIES