Condividi tramite


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.