共用方式為


DeferrableEventArgs 類別

樣板類別,用於延遲的事件引數類型。

語法

template <typename TEventArgsInterface, typename TEventArgsClass>
class DeferrableEventArgs : public TEventArgsInterface;

參數

TEventArgsInterface
宣告延期事件之引數的介面類別。

TEventArgsClass
實作 TEventArgsInterface類別。

成員

公用方法

名稱 描述
DeferrableEventArgs::GetDeferral 取得 Deferral 物件的參考,此物件代表延後事件。
DeferrableEventArgs::InvokeAllFinished 呼叫此方法,表示已完成延期事件的所有處理。

備註

這個類別的執行個體會傳遞至延期事件的事件處理常式。 範本參數代表定義延期事件特定類型之事件引數詳細資料的介面,以及實作該介面的類別。

此類別會顯示為延期事件之事件處理常式的第一個引數。 您可以呼叫 GetDeferral 方法來取得 Deferral 物件,您可以從中取得延遲事件的所有資訊。 完成事件處理之後,您應該在延期物件上呼叫 Complete。 然後,您應該在事件處理程式方法的結尾呼叫 InvokeAllFinished ,以確保所有延後事件的完成都會正確通訊。

需求

標頭: event.h

命名空間: Microsoft::WRL

DeferrableEventArgs::GetDeferral

取得 Deferral 物件的參考,此物件代表延後事件。

HRESULT GetDeferral([out, retval] Windows::Foundation::IDeferral** result)

參數

result
指標,會在呼叫完成時參考 Deferral 物件。

傳回值

如果作業成功,會傳送 S_OK;反之則傳送表示錯誤的 HRESULT 值。

DeferrableEventArgs::InvokeAllFinished

呼叫此方法,表示已完成延期事件的所有處理。

void InvokeAllFinished()

備註

您應該在事件來源呼叫 InvokeAll 之後呼叫此方法。 呼叫這個方法能避免其他延期,並在沒有採取任何延期時,強制執行完成處理常式。