IMediaEvent::GetEvent

GetEvent メソッドは、次のイベント通知をイベント キューから取得する。

構文

  HRESULT GetEvent(
  long *lEventCode,
  long *lParam1,
  long *lParam2,
  long msTimeout
);

パラメータ

lEventCode

[out] イベント コードを受け取る変数へのポインタ。

lParam1

[out] 第 1 イベント引数を受け取る変数へのポインタ。

lParam2

[out] 第 2 イベント引数を受け取る変数へのポインタ。

msTimeout

[in] タイムアウト時間 (ミリ秒単位)。イベントが到着するまで動作を停止するには、INFINITE を使う。

戻り値

HRESULT 値を返す。可能な値は次の一覧のとおりである。

説明
S_OK 成功。
E_ABORT タイムアウトによる時間切れ。

注意

キューにイベントがない場合、このメソッドはイベントが到着するまで最大 msTimeout ミリ秒間待機する。スレッドは、GetEvent で待機中はメッセージを処理できないので、INFINITE のタイムアウト間隔は使わないこと。Windows メッセージを処理するスレッドから GetEvent を呼び出す場合は、ユーザー入力への応答に支障がないように、できるだけ短い待機時間を指定すること。

GetEvent を呼び出した後で、IMediaEvent::FreeEventParams メソッドを呼び出してイベント引数に割り当てたすべてのリソースを解放すること。

通知コードおよび引数値の一覧については、「イベント通知コード」を参照すること。

このメソッドは、フィルタ グラフのイベント キューからイベントを削除するので、複数のクライアントが同じグラフからのイベントを監視する方法はない。

参照