windows底层驱动开发指的是什么?

wanglu1990 2009-06-20 01:51:33
windows底层驱动开发指的是什么?
...全文
1720 5 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
petsatan 2009-06-20
  • 打赏
  • 举报
回复
设备驱动,中间层驱动(过滤驱动)
Sou2012 2009-06-20
  • 打赏
  • 举报
回复
DDK WDK
antss 2009-06-20
  • 打赏
  • 举报
回复
驱动程序设计
设备驱动程序是对 Windows 操作系统的扩展。这意味着在代码设计阶段需要细心琢磨,构建支持其设备所需的可靠性、可服务性和基于特性的功能性。Windows 设备驱动程序实现为用户模式或内核模式驱动程序。

用户模式驱动程序:这类驱动程序通常提供 Win32 应用程序与内核模式驱动程序或其他操作系统组件之间的接口。在 Windows Vista 中,所有打印驱动程序都以用户模式运行。用户模式驱动程序框架(User-mode Driver Framework,UMDF) 支持创建用户模式驱动程序,用户模式驱动程序支持基于协议或基于串行总线的设备。

内核模式驱动程序:这类驱动程序作为内核模式操作系统组件的一部分执行,它们管理 I/O、即插即用、内存、进程和线程、安全等。内核模式驱动程序通常为分层结构。

一些内核模式驱动程序是遵循 Windows 驱动模型(Windows Driver Model,WDM) 的 WDM 驱动程序。一些是 内核模式驱动程序框架(Kernel-Mode Driver Framework,KMDF) 驱动程序。一些驱动程序可能基于 NDIS 或其他设备级的驱动程序模型。

参阅 验证和测试 获取最佳实践,将检测驱动程序作为驱动程序设计的一部分。


文件系统筛选器驱动程序
文件系统筛选器驱动程序拦截对文件系统或另一个文件系统筛选器驱动程序的请求。通过在请求到达预期目标之前将其拦截,筛选器驱动程序能够扩展或代替初始请求目标提供的功能。文件系统筛选器驱动程序的示例包括防病毒筛选器、备份代理和加密产品。要开发文件系统和文件系统筛选器驱动程序,可以使用 IFS (Installable File System) Kit,它随 Windows Driver Kit (WDK) 一起提供。
筛选器管理器和微筛选器基础。筛选器管理器是 Microsoft 提供的一个文件系统筛选器驱动程序,用于简化第三方筛选器驱动程序的开发,并解决与现有的传统筛选器驱动器程序模型相关的许多问题,例如通过赋予的高度控制加载顺序的能力。为筛选器管理程序模型开发的筛选器驱动程序称为微筛选器。每个微筛选器驱动程序都有一个高度赋值。这个赋值是一个唯一标识符,它确定该微筛选器相对于 I/O 栈中其他微筛选器的加载位置。高度值由 Microsoft 分配和管理。
IFS Plugfest。IFS Plugfest 是 Microsoft 文件系统筛选器小组举办的一项面向文件系统筛选器驱动程序 ISV 的活动,开发人员在该活动中与 ISV 合作解决各种供应商解决方案与筛选器管理程序之间的互操作性问题。在该活动中,ISV 团体还能够获知相关的发展规划,并参加筛选器驱动程序相关问题方面的各种会议。更多信息……

Windows Driver Foundation (WDF)
WDF 为内核模式或用户模式定义单一驱动程序模型,该模型支持创建面向对象、事件驱动的驱动程序。借助 WDF,驱动程序编写人员可以专注于设备硬件,而不是操作系统。

WDF 包括开发内核模式和用户模式驱动程序的框架,以及一些验证工具。WDF 是作为当前版本的 Windows 驱动程序工具包(Windows Driver Kit,WDK)的一部分提供的。

内核模式驱动程序框架(KMDF)
KMDF 实现内核模式驱动程序所需的基本功能。

用户模式驱动程序框架(UMDF)
UMDF 支持为基于协议或串行总线的设备(如摄像机和便携音乐播放器)开发用户模式驱动程序。

KMDF 驱动程序设计提示
WHDC 网站上的驱动程序提示直接来源于 Microsoft 的 Windows 驱动程序小组,包括设计的最佳实践、KMDF、内存管理、I/O 请求、安全性和可靠性。
antss 2009-06-20
  • 打赏
  • 举报
回复
WDF
「已注销」 2009-06-20
  • 打赏
  • 举报
回复
DDK
WDK

65,187

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧