流微型驱动开发指南(二)

本文介绍了Stream Class和Minidriver之间的接口,包括流请求块(SRB)的作用,初始化过程中的交互,以及Minidriver的非可重入特性。在初始化时,Class Driver控制请求流程,Minidriver则通过SRB处理低级服务请求。Minidriver的中断服务例程不会与执行中的线程同步,保证了代码的编写便利性。WDM系统服务调用通常在高于DISPATCH_LEVEL的IRQL下进行,但StreamClassCallAtNewPriority函数提供了灵活的优先级选择。
摘要由CSDN通过智能技术生成

二、Stream Class Minidriver之间的接口

流类接口(Stream Class Interface)主要由介于Class DriverMinidriver之间的一系列的函数调用组成。Class Driver对请求的流程(Request Flow)进行控制,当有必要对适配器硬件进行存取时,它就调用适配器的MinidriverClass Driver还负责对多处理器和中断同步作出响应。当Class DriverMinidriver都初始化完毕之后,Minidriver将处于一个被动的地位,它只能被Class Driver所调用,而绝大多数的调用都是非常低级的服务请求。

Minidriver来说,对命令和信息(Commands and Information)进行控制的最基本的机制就是流请求块(Streaming Request Block)。每个Minidriver都有一系列的SRB来对其某个特定的功能进行访问,而且一般说来,设备所支持的每种数据流都有相应的SRB与之对应。这些信息(SRB)通过操作系统控制的DMA缓冲区(它是一个环形队列)传递给设备。

一个SRB由一个命令码字段,以及与该命令码相关联的其他数据所组成。结构体HW_STREAM_REQUEST_BLOCK

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值