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

大小为 (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 进行编程。

要求

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

另请参阅

SCSI 端口 I/O 控制代码

SCSI_REQUEST_BLOCK