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 控制代码