IOCTL_SCSI_MINIPORT IOCTL (ntddscsi.h)
将特殊控制函数发送到特定于主机总线适配器 (HBA) 微型端口驱动程序。 结果会有所不同,具体取决于此请求转发到的特定微型端口驱动程序。 如果调用方指定非零 长度,则输入或输出缓冲区必须至少 (大小 为 (SRB_IO_CONTROL) + DataBufferLength) ) 。
打开 HBA 的指定方法是使用 SetupDiXxx API 获取正在运行的所有 ScsiAdapter 类设备。 获取每个属性用于其设备实例名称,并直接打开 HBA。 SCSI%d (例如,\.\Scsi0:) 是符号链接,而不是所有存储驱动程序都会创建链接。
注意
SCSI 端口驱动程序和 SCSI 微型端口驱动程序模型将来可能会更改或不可用。 建议改用 Storport 驱动程序 和 Storport 微型端口 驱动程序模型。
主要代码
输入缓冲区
Irp-AssociatedIrp.SystemBuffer> 中的缓冲区必须包含SRB_IO_CONTROL结构。
输入缓冲区长度
Parameters.DeviceIoControl.InputBufferLength 指示缓冲区的大小(以字节为单位),该 缓冲区的大小 必须至少为 (SRB_IO_CONTROL) ,如果 Length 字段为非零值,则数据具有额外的存储。
输出缓冲区
更新的SRB_IO_CONTROL结构将返回到 Irp-AssociatedIrp.SystemBuffer> 的缓冲区。
输出缓冲区长度
SRB_IO_CONTROL结构的长度。
输入/输出缓冲区
无。
输入/输出缓冲区长度
不适用。
状态块
“信息”字段包含输出缓冲区中返回的字节数。 “状态”字段指示操作的结果。
要求
要求 | 值 |
---|---|
Header | ntddscsi.h (包括 Ntddscsi.h) |