SPB_TRANSFER_DIRECTION 枚举 (spb.h)
SPB_TRANSFER_DIRECTION枚举描述 I/O 传输序列中单个传输 (读取或写入) 的方向。
语法
typedef enum SPB_TRANSFER_DIRECTION {
SpbTransferDirectionNone,
SpbTransferDirectionFromDevice,
SpbTransferDirectionToDevice,
SpbTransferDirectionMax
} *PSPB_TRANSFER_DIRECTION;
常量
SpbTransferDirectionNone 数据传输方向未定义。 |
SpbTransferDirectionFromDevice 数据传输方向从设备到系统内存 (从设备) 读取。 |
SpbTransferDirectionToDevice 数据传输方向是从系统内存传输到设备, (写入设备) 。 |
SpbTransferDirectionMax 保留供操作系统使用。 |
注解
此枚举中的值指示 I/O 传输序列中各个传输的方向。 IOCTL_SPB_EXECUTE_SEQUENCE I/O 控制请求的输入缓冲区是指定序列传输列表的SPB_TRANSFER_LIST结构。 每个传输由包含传输参数(包括传输方向 )的SPB_TRANSFER_LIST_ENTRY 结构描述。 读取操作的传输方向为 SpbTransferDirectionFromDevice ,写入操作的传输方向为 SpbTransferDirectionToDevice 。
SPB 控制器驱动程序可以调用 SpbRequestGetParameters 方法,以从 I/O 请求中检索一组特定于 SPB 的参数。 其中一个参数是 SPB_TRANSFER_DIRECTION 枚举值,该值指示上一个 I/O 请求的传输方向。 SPB 控制器驱动程序可以使用此方向值来确定当前读取或写入 (IRP_MJ_READ 或 IRP_MJ_WRITE) 请求是否需要更改总线上的传输方向。
此外, SpbRequestGetParameters 检索一个位置值,该值指示读取或写入请求在多请求序列传输列表中的相对位置。 如果读取请求或写入请求的位置值为 SpbRequestSequencePositionSingle 或 SpbRequestSequencePositionFirst,则上一个传输的方向值为 SpbTransferDirectionNone (也就是说,) 没有以前的传输方向。 对于位置值为 SpbRequestSequencePositionMiddle 或 SpbRequestSequencePositionLast 的读取或写入请求,方向值指示上一次传输是读取还是写入。 对于位置值为 SpbRequestSequencePositionLast 的解锁 (IOCTL_SPB_UNLOCK_CONTROLLER) 请求,方向值指示序列中最后一次传输是读取还是写入。
锁 (IOCTL_SPB_LOCK_CONTROLLER) 请求没有先前的方向。 同样,传递给 EvtSpbControllerIoOther 回调函数的 I/O 控制请求没有以前的方向。 对于其中任一请求, SpbRequestGetParameters 检索的上一个方向值为 SpbTransferDirectionNone。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | 支持从Windows 8开始。 |
标头 | spb.h |