IOCTL_SCSI_MINIPORT IOCTL (ntddscsi.h)

将特殊控制函数发送到主机总线适配器特定的 (HBA) 微型端口驱动程序。 结果因此请求转发到的特定微型端口驱动程序而异。 如果调用方指定非零 长度,则输入或输出缓冲区必须至少为(sizeof(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 指示缓冲区的大小(以字节为单位),如果 Length 字段为非零,则缓冲区的大小必须至少为 sizeof(SRB_IO_CONTROL),并且数据的额外存储。

输出缓冲区

更新后的 SRB_IO_CONTROL 结构将返回到 Irp->AssociatedIrp.SystemBuffer的缓冲区。

输出缓冲区长度

SRB_IO_CONTROL 结构的长度。

输入/输出缓冲区

没有。

输入/输出缓冲区长度

不適用。

状态块

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

要求

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

另请参阅

SRB_IO_CONTROL