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 检索一个位置值,该值指示多请求序列传输列表中的读取或写入请求的相对位置。 如果读取请求或写入请求的位置值为 SpbRequestSequencePositionSingleSpbRequestSequencePositionFirst,则上一次传输的方向值 SpbTransferDirectionNone(即,没有以前的传输方向)。 对于具有位置值为 SpbRequestSequencePositionMiddleSpbRequestSequencePositionLast的读取或写入请求,方向值指示上一次传输是读取还是写入。 对于解锁(IOCTL_SPB_UNLOCK_CONTROLLER)请求,其位置值为 SpbRequestSequencePositionLast,方向值指示序列中的最后一次传输是读取还是写入。

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

要求

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

另请参阅