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 之後呼叫此方法。 呼叫這個方法能避免其他延期,並在沒有採取任何延期時,強制執行完成處理常式。