IWDFObject::AssignContext 方法 (wudfddi.h)

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

AssignContext 方法會為 對象註冊內容和驅動程式提供的清除回呼函式。

語法

HRESULT AssignContext(
  [in, optional] __drv_aliasesMem IObjectCleanup *pCleanupCallback,
  [in, optional] __drv_aliasesMem void           *pContext
);

參數

[in, optional] pCleanupCallback

IObjectCleanup 介面的指標,其中包含清除回呼函式,它會在對象變成無效時執行清除作業。 這是選擇性參數。 如果驅動程式在清除物件時不需要通知,驅動程式可以傳遞 NULL

[in, optional] pContext

要註冊之內容的指標。 NULL 是有效的內容。

傳回值

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

備註

驅動程式會呼叫 AssignContext 來註冊內容,並在對象變成無效時要求通知。 在 AssignContext 呼叫中,驅動程式會將指標傳遞給 pCleanupCallback 參數中的 IObjectCleanup 介面,以註冊 IObjectCleanup。 請注意,當物件有效時,架構會在內部保存所提供 IObjectCleanup 介面的參考。 當物件變成無效時,架構會呼叫 IObjectCleanup::OnCleanup 方法來通知驅動程式。 架構會在呼叫 IObjectCleanup::OnCleanup 之後,自動釋放所提供 IObjectCleanup 的參考。

在任何指定時間,只有一個與每個物件實例相關聯的內容可以存在。 嘗試註冊其他內容失敗。

內容只能與處於有效狀態的對象相關聯。 例如,嘗試將內容與刪除過程中的對象產生關聯失敗。

由於內容不是元件物件模型 (COM) 介面,因此驅動程式不得將內容視為此類。 例如,驅動程式無法在內容上呼叫 AddRef 方法。

IWDFObject::RetrieveContext 方法可用來擷取先前透過 AssignContext 註冊的內容。

範例

如需如何使用 AssignContext 方法的程式代碼範例,請參閱 IWDFIoTarget::FormatRequestForWrite

規格需求

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

另請參閱

IObjectCleanup

IObjectCleanup::OnCleanup

IWDFObject

IWDFObject::RetrieveContext