IOCTL_SCSI_MINIPORT IOCTL (ntddscsi.h)

将特殊控制函数发送到特定于主机总线适配器 (HBA) 微型端口驱动程序。 结果会有所不同,具体取决于此请求转发到的特定微型端口驱动程序。 如果调用方指定非零 长度,则输入或输出缓冲区必须至少 (大小 为 (SRB_IO_CONTROL) + DataBufferLength) ) 。

打开 HBA 的指定方法是使用 SetupDiXxx API 获取正在运行的所有 ScsiAdapter 类设备。 获取每个属性用于其设备实例名称,并直接打开 HBA。 SCSI%d (例如,\.\Scsi0:) 是符号链接,而不是所有存储驱动程序都会创建链接。

注意

SCSI 端口驱动程序和 SCSI 微型端口驱动程序模型将来可能会更改或不可用。 建议改用 Storport 驱动程序Storport 微型端口 驱动程序模型。

主要代码

IRP_MJ_DEVICE_CONTROL

输入缓冲区

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)

另请参阅

SRB_IO_CONTROL