次の方法で共有


DeferrableEventArgs クラス

遅延のイベント引数の型に使用されるテンプレート クラス。

構文

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

パラメーター

TEventArgsInterface
遅延イベントの引数を宣言するインターフェイスの型。

TEventArgsClass
TEventArgsInterface インターフェイスを実装するクラス。

メンバー

パブリック メソッド

名前 説明
DeferrableEventArgs::GetDeferral 遅延イベントを表す Deferral オブジェクトへの参照を取得します。
DeferrableEventArgs::InvokeAllFinished 遅延イベントを処理するすべての処理が完了したことを示すために呼び出されます。

解説

このクラスのインスタンスは、遅延イベントのイベント ハンドラーに渡されます。 テンプレート パラメーターは、遅延イベントの特定の種類のイベント引数の詳細を定義するインターフェイスと、そのインターフェイスを実装するクラスを表します。

クラスは遅延イベントのイベント ハンドラーの最初の引数として表示されます。 GetDeferral メソッドを呼び出して 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 が呼び出された後に、このメソッドを呼び出す必要があります。 このメソッドを呼び出すことで、さらに遅延が取られることを回避し、遅延が取られなかった場合は、完了ハンドラーの実行を強制します。