共用方式為


Framework 物件簡介

Windows Driver Frameworks (WDF) 提供給驅動程式的介面是以對象為基礎。 架構會定義數個物件。 這些物件會匯出 方法(函式)和 屬性(數據),以供驅動程式存取。 Framework 物件也會起始 事件,而驅動程式可以藉由提供事件回呼函式來支持這些事件。

架構型驅動程序永遠不會直接存取架構物件。 相反地,驅動程序會藉由 控制代碼來參考物件,並將這些控制代碼作為輸入傳遞給物件方法。

所有架構物件都有下列特性:

參考計數
架構會維護每個對象的參考數目計數。 當架構建立物件時,它會將對象的參考計數設定為一個。 當架構使用完物件後,它會遞減引用計數。 架構無法刪除物件,直到參考計數遞減為零為止,因此驅動程式可以藉由遞增其參考計數來防止刪除物件。

內容空間
架構型驅動程式可以為驅動程式接收或建立的每個架構物件建立物件特定內容空間。 驅動程式應該將所有物件特定資料儲存在對象的內容空間中。 如需內容空間的詳細資訊,請參閱 Framework 物件內容空間

刪除回呼函式
驅動程式可以在刪除物件時註冊架構所呼叫的回呼函式。 回呼函式可以移除驅動程式指派的資源,例如物件特定的記憶體配置。 如需這些回呼函式的詳細資訊,請參閱 Framework 物件生命週期

父物件
所有架構物件都可以有父物件。 架構會指定大部分對象的預設父物件。 當驅動程式建立物件時,它可以指定一個父物件來取代該物件的預設父物件。 若要指定物件的父對象,驅動程式會設定物件的 WDF_OBJECT_ATTRIBUTES 結構 成員 ParentObject。 (對於幾個物件類型,驅動程式無法覆寫預設父物件。當架構或驅動程式刪除父物件時,架構也會刪除父物件的子系。

如需 WDF 所定義之所有物件的概觀,請參閱 Framework 物件的摘要