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 개체를 참조하는 포인터입니다.
Return Value
성공하면 S_OK이고, 그렇지 않으면 오류를 나타내는 HRESULT입니다.
DeferrableEventArgs::InvokeAllFinished
지연된 이벤트를 처리하는 모든 처리가 완료되었음을 나타내기 위해 호출됩니다.
void InvokeAllFinished()
설명
이벤트 원본이 InvokeAll을 호출한 후 이 메서드를 호출해야 합니다. 이 메서드를 호출하면 추가 지연이 수행되지 않고, 수행된 지연이 없을 경우 완료 처리기가 강제로 실행됩니다.