Teilen über


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.