DeferrableEventArgs 类

一种用于延迟事件的事件参数类型的模板类。

语法

template <typename TEventArgsInterface, typename TEventArgsClass>
class DeferrableEventArgs : public TEventArgsInterface;

参数

TEventArgsInterface
声明延迟事件的自变量的接口类型。

TEventArgsClass
实现 TEventArgsInterface 的类

成员

公共方法

名称 描述
DeferrableEventArgs::GetDeferral 获取对表示延迟事件的 Deferral 对象的引用。
DeferrableEventArgs::InvokeAllFinished 调用以指示处理延迟事件的全部过程都已完成。

注解

将此类的实例传递给延迟事件的事件句柄。 模板参数表示一个接口,该接口为特定类型的延迟事件定义事件自变量的详细信息以及定义实现该接口的类。

此类显示为一个延迟事件的事件处理程序的第一个参数。 可调用 GetDeferral 方法来获取 Deferral 对象,从中可以获取有关延迟事件的所有信息。 处理完事件后,应对 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 后,应调用此方法。 调用此方法将阻止发生进一步的延迟,并且如果没有发生延迟将强制完成处理程序来执行。