警告
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。
下圖顯示父子架構物件階層。
架構物件的存留期範圍取決於其在階層中的位置,以及物件的建立方式。 架構物件的存留期範圍分為下列其中一個類別:
架構會控制物件的建立和破壞。
架構會建立及終結物件,例如 驅動程式物件 和 裝置物件,以響應系統事件。 當使用者模式驅動程式呼叫 IWDFDriver::CreateDevice 方法來建立裝置物件時,驅動程式可以選擇性地註冊,讓架構在裝置對象終結之前收到通知。
架構會建立物件;不過,驅動程式會控制物件釋放的時間。
當 I/O 呈現給驅動程式時,I/O 要求物件 遵循此模式。 架構會建立要求物件,而且要求物件的存留期有效,直到驅動程式呼叫 IWDFIoRequest::Complete 方法為止。
驅動程式會建立 物件,並將物件與另一個架構對象產生關聯。
某些架構物件是由父架構物件實例所提供的方法創建,這些對象會與這些對象相關聯以便進行生命周期管理。 IWDFDevice::CreateIoQueue 方法是此模式的範例。 如果呼叫 IWDFDevice::CreateIoQueue 成功,則新建立的 I/O 佇列會與 IWDFDevice 介面所代表的裝置實例相關聯。 當父對象終結時,架構會自動清除子實例。 如果驅動程式向架構註冊適當的回呼函式,驅動程式就會收到這些事件的通知。