共用方式為


以 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方法可讓其他元件判斷驅動程式支援的介面。