基于 COM 子集的 UMDF

警告

UMDF 2 是 UMDF 的最新版本,取代了 UMDF 1。 所有新的 UMDF 驱动程序都应使用 UMDF 2 编写。 不会向 UMDF 1 添加任何新功能,并且较新版本的 Windows 10 上对 UMDF 1 的支持有限。 通用 Windows 驱动程序必须使用 UMDF 2。

存档的 UMDF 1 示例可在 Windows 11 版本 22H2 - 2022 年 5 月驱动程序示例更新中找到。

有关详细信息,请参阅使用 UMDF 入门

框架对象和接口基于组件对象模型 (COM) ,原因如下:

  • 许多应用程序程序员都熟悉 COM。

  • C++ 是 COM 应用程序编程的首选语言。

  • COM 接口支持函数的逻辑分组,以便设备驱动程序接口 (DDI) 易于理解和导航。

  • 使用 COM,DDI 无需重新编译现有的驱动程序 DLL 即可扩展和改进。

  • 许多工具(包括 Microsoft Visual Studio 和活动模板库 (ATL) )支持基于 COM 的应用程序和对象。

框架仅使用 COM 的一小部分;它不依赖于整个 COM 基础结构和运行时库。 相反,框架只使用查询接口和引用计数功能。 每个框架接口派生自 IUnknown ,因此默认情况下支持 QueryInterfaceAddRefRelease 方法。 AddRefRelease 方法管理对象生存期。 QueryInterface 方法使其他组件能够确定驱动程序支持的接口。