EDKII: 磁盘操作之 BlockIo(2), DiskIo(2)

EDKII中提供了几种磁盘操作方法,包括同步/异步,块操作/任意操作。整理如下:

函数 备注 BlockIo BlockIo2 DiskIo DiskIo2
操作方式   按Block 按Block 任意大小、位置 任意大小、位置
同、异步   阻塞 异步 阻塞 异步
成员Revision   有 无 有 有
成员Media 设备信息 有 有 无 无
函数Reset   有 有(阻塞) 无 无
函数ReadBlocks   有 有 有 有
函数WriteBlocks   有 有 有 有
函数FlushBlocks   有 有 无 有
函数Cancel   无 无 无 有
           

1. 更高级的磁盘操作可以用PassThrough操作,透过PassThru直接向ATA设备发送ATA命令。(How about NVMe device?)

2. 异步函数可以通过 Event或Notification来处理。

 

很奇怪,这些属性、函数的定义并不统一,不知道是什么原因!   哪位大神可以解释一下?

posted @ 2015-10-25 21:34  herryzz  阅读(878)  评论(0)    收藏  举报