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