IWDFDriver::CreateWdfObject 方法 (wudfddi.h)

[警告: UMDF 2 是最新版的 UMDF,並取代 UMDF 1。 所有新的UMDF驅動程式都應該使用UMDF 2撰寫。 未將新功能新增至 UMDF 1,且較新版本的 #D9A9C866FDF4448E89526EFBFFDC359B3 上不支援 UMDF 1。 通用 Windows 驅動程式必須使用 UMDF 2。 如需詳細資訊,請參閱使用 UMDF 使用者入門。]

CreateWdfObject 方法會從父 WDF 物件建立自定義 (或使用者) WDF 物件。

語法

HRESULT CreateWdfObject(
  [in, optional] IUnknown   *pCallbackInterface,
  [in, optional] IWDFObject *pParentObject,
  [out]          IWDFObject **ppWdfObject
);

參數

[in, optional] pCallbackInterface

架構用來判斷驅動程式在新建立自定義物件上訂閱的對象相關事件回呼函式的 IUnknown 介面指標。 這是選擇性參數。 如果驅動程式不需要通知,驅動程式可以傳遞 NULL 。 如果驅動程序傳遞有效的指標,架構會在 IObjectCleanup 介面的 IUnknown 介面上呼叫 QueryInterface。 如果架構取得驅動程式的 IObjectCleanup 介面,架構接著可以呼叫驅動程式的 IObjectCleanup::OnCleanup 方法,以通知驅動程式已清除自定義物件。

[in, optional] pParentObject

WDF 物件的 IWDFObject 介面指標。 如果 為 NULL,則驅動程式物件會變成預設的父代。

[out] ppWdfObject

緩衝區的指標,接收新建立之 WDF 物件的 IWDFObject 介面指標。

傳回值

如果作業成功,CreateWdfObject 會傳回S_OK。 否則,這個方法會傳回 Winerror.h 中定義的其中一個錯誤碼。

備註

驅動程式可以呼叫 CreateWdfObject 來建立一般 架構基底物件 以供自己使用。 驅動程式可以建立內容記憶體的關聯、指派父物件,以及註冊 IObjectCleanup 介面。 架構接著會呼叫 IObjectCleanup::OnCleanup 方法來清除子物件。

如果未在 pParentObject 參數指定父對象,驅動程式就會變成預設的父物件。 因此,刪除驅動程序物件時,架構會清除子物件。

如果指派父物件,則會在刪除父物件時刪除子物件。 換句話說,子物件的存留期會限定在父物件的存留期範圍內。

如果驅動程式必須在刪除父物件之前清除子對象,驅動程式可以呼叫 IWDFObject::D eleteWdfObject 方法。

規格需求

需求
終止支援 在 UMDF 2.0 和更新版本中無法使用。
目標平台 桌面
最低UMDF版本 1.5
標頭 wudfddi.h (包含 Wudfddi.h)
Dll WUDFx.dll

另請參閱

IObjectCleanup

IObjectCleanup::OnCleanup

IWDFDriver

IWDFObject

IWDFObject::D eleteWdfObject