IMediaEventEx::SetNotifyWindow

SetNotifyWindow メソッドは、イベント通知を処理するウィンドウを登録する。

構文

  HRESULT SetNotifyWindow(
  OAHWND hwnd,
  long lMsg,
  long lInstanceData
);

パラメータ

hwnd

[in] ウィンドウのハンドル。または、イベント メッセージの受け取りを停止するには NULL。

lMsg

[in] 通知として渡すウィンドウ メッセージ。

lInstanceData

[in] lMsg メッセージの lParam 引数として渡す値。

戻り値

成功した場合は S_OK を返す。hwnd 引数が有効なウィンドウ ハンドルでない場合は、E_INVALIDARG を返す。

注意

このメソッドはイベント通知を処理するウィンドウを指示する。フィルタ グラフ マネージャがイベントをイベント キューに入れるたびに、指定したウィンドウにメッセージも送る。hwnd 引数はウィンドウを指定し、lMsg 引数はメッセージを指定する。この目的のため、アプリケーションはプライベート ウィンドウ メッセージを定義する必要がある。メッセージの lParam 引数には lInstanceData の値が設定され、wParam 引数はゼロに設定される。

ウィンドウがメッセージを受け取ったら、IMediaEvent::GetEvent メソッドを呼び出してイベントを取得する必要がある。イベントは非同期なので、キューには複数の (あるいはゼロの) イベントが入っている可能性がある。GetEvent がエラーコードを返すまで繰り返し呼び出すこと。

参照