DeferrableEventArgs-Klasse
Eine für die Ereignisargumenttypen für Verzögerungen verwendete Vorlagenklasse.
Syntax
template <typename TEventArgsInterface, typename TEventArgsClass>
class DeferrableEventArgs : public TEventArgsInterface;
Parameter
TEventArgsInterface
Der Schnittstellentyp, der die Argumente für ein zurückgestelltes Ereignis deklariert.
TEventArgsClass
Die Klasse, die TEventArgsInterface implementiert.
Member
Öffentliche Methoden
Name | Beschreibung |
---|---|
DeferrableEventArgs::GetDeferral | Ruft einen Verweis auf das Deferral -Objekt, das ein verzögertes Ereignis darstellt. |
DeferrableEventArgs::InvokeAllFinished | Wird aufgerufen, um anzugeben, dass das Behandeln eines zurückgestellten Ereignisses abgeschlossen ist. |
Hinweise
Instanzen dieser Klasse werden an die Ereignishandler für zurückgestellte Ereignisse übergeben. Der Vorlagenparameter stellt eine Schnittstelle, die die Details der Ereignisargumente für einen bestimmten Typ eines zurückgestellten Ereignisses definiert, und eine Klasse dar, die diese Schnittstelle implementiert.
Die Klasse wird als erstes Argument in einem Ereignishandler für ein zurückgestelltes Ereignis angezeigt. Sie können die GetDeferral-Methode aufrufen, um das Deferral-Objekt abzurufen, aus dem Sie alle Informationen zum verzögerten Ereignis abrufen können. Wenn die Ereignisbehandlung abgeschlossen ist, müssen Sie „Complete“ für das Deferral-Objekt aufrufen. Rufen Sie dann InvokeAllFinished am Ende der Ereignishandlermethode auf, wodurch sichergestellt wird, dass der Abschluss aller verzögerten Ereignisse ordnungsgemäß kommuniziert wird.
Anforderungen
Header: event.h
Namespace: Microsoft::WRL
DeferrableEventArgs::GetDeferral
Ruft einen Verweis auf das Deferral -Objekt, das ein verzögertes Ereignis darstellt.
HRESULT GetDeferral([out, retval] Windows::Foundation::IDeferral** result)
Parameter
result
Ein Zeiger, der auf das Deferral-Objekt verweist, wenn der Aufruf abgeschlossen ist.
Rückgabewert
S_OK, wenn erfolgreich; andernfalls ein HRESULT, das den Fehler angibt.
DeferrableEventArgs::InvokeAllFinished
Wird aufgerufen, um anzugeben, dass das Behandeln eines zurückgestellten Ereignisses abgeschlossen ist.
void InvokeAllFinished()
Hinweise
Sie sollten diese Methode aufrufen, nachdem die Ereignisquelle InvokeAll aufgerufen hat. Das Aufrufen dieser Methode verhindert weitere Verzögerungen und erzwingt die Ausführung des Abschlusshandlers, wenn keine Verzögerungen ausgeführt wurden.