Classe DeferrableEventArgs
Classe di modello usata per i tipi di argomento evento per rinvii.
Sintassi
template <typename TEventArgsInterface, typename TEventArgsClass>
class DeferrableEventArgs : public TEventArgsInterface;
Parametri
TEventArgsInterface
Tipo di interfaccia che dichiara gli argomenti per un evento posticipato.
TEventArgsClass
Classe che implementa TEventArgsInterface.
Membri
Metodi pubblici
Nome | Descrizione |
---|---|
DeferrableEventArgs::GetDeferral | Ottiene un riferimento all'oggetto Deferral che rappresenta un evento posticipato. |
DeferrableEventArgs::InvokeAllFinished | Chiamato per indicare il completamento dell'elaborazione per la gestione di un evento posticipato. |
Osservazioni:
Istanze di questa classe vengono passate ai gestori eventi per eventi posticipati. I parametri del modello rappresentano un'interfaccia che definisce i dettagli degli argomenti dell'evento per un tipo specifico di evento posticipato e una classe che implementa tale interfaccia.
La classe viene visualizzata come primo argomento a un gestore eventi per un evento posticipato. È possibile chiamare il metodo GetDeferral per ottenere l'oggetto Deferral da cui è possibile ottenere tutte le informazioni sull'evento posticipato. Dopo aver completato la gestione degli eventi, è necessario chiamare Complete sull'oggetto Deferral. È quindi necessario chiamare InvokeAllFinished alla fine del metodo del gestore eventi, che garantisce che il completamento di tutti gli eventi posticipati venga comunicato correttamente.
Requisiti
Intestazione: event.h
Spazio dei nomi: Microsoft::WRL
DeferrableEventArgs::GetDeferral
Ottiene un riferimento all'oggetto Deferral che rappresenta un evento posticipato.
HRESULT GetDeferral([out, retval] Windows::Foundation::IDeferral** result)
Parametri
result
Puntatore che farà riferimento all'oggetto Deferral al termine della chiamata.
Valore restituito
S_OK se riesce; in caso contrario, HRESULT indica un errore.
DeferrableEventArgs::InvokeAllFinished
Chiamato per indicare il completamento dell'elaborazione per la gestione di un evento posticipato.
void InvokeAllFinished()
Osservazioni:
È necessario chiamare questo metodo dopo che l'origine evento chiama InvokeAll. Se si chiama questo metodo, si eviteranno ulteriori rinvii e si forzerà l'esecuzione del gestore di completamento se non sono stati eseguiti rinvii.