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_READIRP_MJ_WRITE) 请求是否需要更改总线上的传输方向。

此外, SpbRequestGetParameters 检索一个位置值,该值指示读取或写入请求在多请求序列传输列表中的相对位置。 如果读取请求或写入请求的位置值为 SpbRequestSequencePositionSingleSpbRequestSequencePositionFirst,则上一个传输的方向值为 SpbTransferDirectionNone (也就是说,) 没有以前的传输方向。 对于位置值为 SpbRequestSequencePositionMiddleSpbRequestSequencePositionLast 的读取或写入请求,方向值指示上一次传输是读取还是写入。 对于位置值为 SpbRequestSequencePositionLast 的解锁 (IOCTL_SPB_UNLOCK_CONTROLLER) 请求,方向值指示序列中最后一次传输是读取还是写入。

锁 (IOCTL_SPB_LOCK_CONTROLLER) 请求没有先前的方向。 同样,传递给 EvtSpbControllerIoOther 回调函数的 I/O 控制请求没有以前的方向。 对于其中任一请求, SpbRequestGetParameters 检索的上一个方向值为 SpbTransferDirectionNone

要求

要求
最低受支持的客户端 支持从Windows 8开始。
标头 spb.h

另请参阅