DMA 事务和 DMA 传输

[仅适用于 KMDF]

若要了解框架如何处理总线主机和系统模式 DMA 操作,必须了解以下两个术语:

DMA 事务
DMA 事务是一个完整的 I/O 操作,例如来自应用程序的单个读取或写入请求。

DMA 传输
DMA 传输是单个硬件操作,用于将数据从计算机内存传输到设备或从设备传输到计算机内存。

单个 DMA 事务始终包含至少一个 DMA 传输,但一个事务可以包含多个传输。

当基于框架的驱动程序收到 I/O 请求时,驱动程序通常会创建一个 DMA 事务对象来表示请求。 当框架开始为事务提供服务时,它会确定设备是否可以在单个传输中处理整个事务。 如果事务太大,框架会将事务分解为多个传输。