IRP详解(2)----传输类型

     看完上篇的IRP请求类型,我们在来看看IRP是如何在上层和底层间实现数据传输的,微软支持以下三种数据传输机制:

1:Buffered I/O传输

      I/O管理器发起Buffered I/O请求时,该IRP将会创建一个内部缓冲区,当该请求是写操作时,I/O管理器将用户空间要写入的缓冲区内容复制到该内部缓冲区中,相反,读操作时,将内部缓冲区的内容复制给用户空间缓冲区。

2:Direct I/O传输

      I/O管理器发起Buffered I/O请求时,该IRP将会包含一个地址,该地址表示的是一个由MDL方式描述的缓冲区。

3:即非Buffered I/O也非Direct I/O传输

      I/O控制代码中指定为METHOD_NEITHER即表示这个传输方式。该IRP包含一个指向用户模式下的缓冲区的指针。

      值得注意的是,UMDF针对这种传输只提供部分支持,而KMDF则没有限制。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值