Win32 API 日本語リファレンス
ホームMedia.DirectShow › IMixerOCXNotify

IMixerOCXNotify

COM
IID81a3bd31-dee1-11d1-8508-00a0c91f9ca0継承元IUnknown自前メソッド開始 vtbl3

公式ドキュメント

IMixerOCXNotify インターフェイスはクライアントによって実装され、ビデオ表示矩形に影響するイベントの通知を送信するために Overlay Mixer から呼び出されます。

メソッド 3

vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。

vtbl 3 HRESULT OnInvalidateRect(RECT* lpcRect)

OnInvalidateRect メソッドは、ビデオ矩形が無効化されたことをクライアントに通知します。

lpcRectRECT*in無効化された矩形を、画面座標で指定します。

戻り値

メソッドが成功した場合は S_OK を返します。

vtbl 4 HRESULT OnStatusChange(DWORD ulStatusFlags)

OnStatusChange メソッドは、ステータスの変更が発生したことをクライアントに通知します。

ulStatusFlagsDWORDin

次のステータスフラグのうち 1 つ以上のビットごとの OR です。

フラグ 説明
MIXER_STATE_UNCONNECTED (0x00000000) Overlay Mixer は未接続かつ停止状態です。
MIXER_STATE_CONNECTED_STOPPED (0x00000001) Overlay Mixer は接続済みかつ停止状態です。
MIXER_STATE_CONNECTED_PAUSED (0x00000002) Overlay Mixer は接続済みかつ一時停止状態です。
MIXER_STATE_CONNECTED_PLAYING (0x00000003) Overlay Mixer は接続済みかつ再生中です。

戻り値

メソッドが成功した場合は S_OK を返します。

vtbl 5 HRESULT OnDataChange(DWORD ulDataFlags)

OnDataChange メソッドは、ビデオ矩形のアスペクト比やサイズ、または表示パレットが変更されたときにクライアントに通知します。

ulDataFlagsDWORDin

どのデータセットが変更されたかを示すフラグです。次のフラグが定義されています。

フラグ 説明
MIXER_DATA_ASPECT_RATIO (0x00000001) ピクチャのアスペクト比。
MIXER_DATA_NATIVE_SIZE (0x00000002) ビデオストリームのネイティブサイズが変更されました。
MIXER_DATA_PALETTE (0x00000004) ビデオパレットが変更されました。

戻り値

メソッドが成功した場合は S_OK を返します。

出典・ライセンス: 上記「公式ドキュメント」の内容は Microsoft の Win32 API ドキュメント(MicrosoftDocs/sdk-api)を日本語に翻訳・改変したものです。© Microsoft Corporation. CC BY 4.0 で提供。
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)

HSP用 COM定義

#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"

出力引数:
#define global IID_IMixerOCXNotify "{81A3BD31-DEE1-11D1-8508-00A0C91F9CA0}"
#usecom global IMixerOCXNotify IID_IMixerOCXNotify "{}"
#comfunc global IMixerOCXNotify_OnInvalidateRect  3 var
#comfunc global IMixerOCXNotify_OnStatusChange    4 int
#comfunc global IMixerOCXNotify_OnDataChange      5 int
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。