共用方式為


CoSetCancelObject 函式 (combaseapi.h)

設定 (註冊) 或重設 (取消註冊) 取消物件,以供在目前線程上的後續取消作業期間使用。

語法

HRESULT CoSetCancelObject(
  [in, optional] IUnknown *pUnk
);

參數

[in, optional] pUnk

取消物件上要設定或重設目前線程上 IUnknown 介面的指標。 如果此參數為 NULL,則會重設最上層的取消物件。

傳回值

此函式可以傳回標準傳回值E_FAIL、E_INVALIDARG、E_OUTOFMEMORY和E_UNEXPECTED,以及下列值。

傳回碼 描述
S_OK
取消物件已成功設定或重設。
E_ACCESSDENIED
取消物件目前無法設定或重設,因為取消作業上的區塊。

備註

對於支持標準封送處理的物件,Proxy 物件會呼叫 CoSetCancelObject 開始封送處理方法呼叫,以註冊目前線程的 cancel 物件。

CoSetCancelObject 會在 cancel 物件上呼叫適用於 ICancelMethodCallsQueryInterface。 如果 cancel 物件未實作 ICancelMethodCalls,CoSetCancelObject 會因為E_NOINTERFACE而失敗。 若要停用自定義封送處理介面上的取消作業, ICancelMethodCalls::Cancel 的實作應該不會執行任何動作,但會傳回E_NOTIMPL、E_FAIL或其他適當的值。

CoSetCancelObject 會在它所註冊的物件上呼叫 AddRef ,並在其取消註冊的物件上 呼叫 Release

CoSetCancelObject 不會設定或重設異步方法的取消物件。

規格需求

需求
最低支援的用戶端 Windows 2000 Professional [僅限傳統型應用程式]
最低支援的伺服器 Windows 2000 Server [僅限桌面應用程式]
目標平台 Windows
標頭 combaseapi.h (包含 Objbase.h)
程式庫 Ole32.lib
Dll Ole32.dll

另請參閱

ICancelMethodCalls