SRB_IO_CONTROL结构(ntddscsi.h)

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

语法

typedef struct _SRB_IO_CONTROL {
  ULONG HeaderLength;
  UCHAR Signature[8];
  ULONG Timeout;
  ULONG ControlCode;
  ULONG ReturnCode;
  ULONG Length;
} SRB_IO_CONTROL, *PSRB_IO_CONTROL;

成员

HeaderLength

sizeof(SRB_IO_CONTROL)。

Signature[8]

标识此请求的应用程序专用目标 HBA。 此签名用于防止 ControlCode 中的冲突 供应商之间的值。 它应该是 ASCII 字符的字符串。 如果微型端口驱动程序无法识别输入 签名 值,则它必须以SRB_STATUS_INVALID_REQUEST状态完成请求。

Timeout

指示请求在特定于 OS 的端口驱动程序可能将其超时之前可以执行的间隔(以秒为单位)。微型端口驱动程序应强制SRB_IO_CONTROL超时,尤其是对于任何专用定义的SRB_IO_CONTROL。

ControlCode

指示要执行的作。 没有系统定义的作。 驱动程序必须将值定义为一组专用 I/O 控制代码,应用程序可以通过调用 Win32 DeviceIoControl 函数发出请求。 有关为设备控制请求定义专用 I/O 控制代码的详细信息,请参阅 使用 I/O 控制代码

ReturnCode

返回请求申请要检查的状态代码。

Length

指示紧跟数据区域的大小(以字节为单位)。 对于特定作,可以将此区域划分为输入和输出区域。 对于输入请求,DataBuffer 的内容将复制到请求者,最多复制到 DataTransferLength 的返回值。

言论

应用程序使用此结构将请求直接发送到应用程序专用 HBA。 请注意,此类应用程序还必须设置对专用 HBA 进行编程的请求。

要求

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

另请参阅

SCSI 端口 I/O 控制代码

SCSI_REQUEST_BLOCK