Microsoft DirectX 8.0

DVD イベント通知コード

注 :  この概要説明は、C++ 開発者だけを対象にしている。

Microsoft® DirectShow® では、フィルタ グラフ内のフィルタがフィルタ グラフ マネージャに渡す、システム定義イベントをサポートしている。フィルタは、IMediaEventSink::Notify メソッドを使用してこれらのイベントをフィルタ グラフ マネージャに渡し、アプリケーションは IMediaEvent::GetEvent メソッドを使用してこれらのイベントを取得する。

GetEvent を呼び出してイベントを取得するとき、イベントはインターフェイス ポインタまたは割り当てられているメモリへのポインタを含むことができる。したがって、GetEvent を使用するコードは、イベントの処理が終った後で IMediaEvent::FreeEventParams を使用してイベントのパラメータに関連付けられているすべてのリソースを解放する必要がある。

DVD イベント通知コードは、Dvdevcod.h に記述されている。 非 DVD イベント通知コードについては、「イベント通知コード」を参照すること。以下に、DVD イベント通知コードをアルファベット順に示す。
DVD イベント通知コード説明
EC_DVD_ANGLE_CHANGE 利用可能なアングルの数または現在のアングル数が変更されたことを通知する。
EC_DVD_ANGLES_AVAILABLE アングル ブロックが再生中にアングルの変更が可能かどうかを示す。
EC_DVD_AUDIO_STREAM_CHANGE メイン タイトルに対して現在のオーディオ ストリーム番号が変更されたことを通知する。
EC_DVD_BUTTON_AUTO_ACTIVATED ディスク上の命令によってメニュー ボタンが自動的にアクティブになったことを通知する。
EC_DVD_BUTTON_CHANGE 利用可能なボタンの数が変更された、または現在選択されているボタンの番号が変更されたことを通知する。
EC_DVD_CHAPTER_AUTOSTOP IDvdControl2::PlayChaptersAutoStop メソッド呼び出しによって再生が中止されたことを通知する。
EC_DVD_CHAPTER_START DVD ナビゲータが現在のタイトルの新しいチャプターの再生を開始したことを通知する。
EC_DVD_CMD_START 特定のコマンドが開始されたことを通知する。
EC_DVD_CMD_END 特定のコマンドが完了したことを通知する。
EC_DVD_CURRENT_HMSF_TIME .4 〜 1.0 秒ごとに発生するすべての VOBU の先頭での現在のタイムを DVD_HMSF_TIMECODE フォーマットで通知する。
EC_DVD_CURRENT_TIME 0.4 〜 1.0 秒の長さを持つビデオ セグメントであるビデオ オブジェクト単位 (VOBU) の開始をすべて通知する。
EC_DVD_DISC_EJECTED ディスクがドライブから取り出されたことを通知する。
EC_DVD_DISC_INSERTED ディスクがドライブに挿入されたことを通知する。
EC_DVD_DOMAIN_CHANGE DVD ナビゲータの新しいドメインを示す。
EC_DVD_ERROR DVD エラー状態を通知する。
EC_DVD_KARAOKE_MODE ナビゲータがカラオケ データの再生を開始または終了したことを示す。
EC_DVD_NO_FP_PGC DVD ディスクのフォーマットが FP_PGC (First Play Program Chain) でないことを示す。
EC_DVD_PARENTAL_LEVEL_CHANGE オーサリングされたコンテンツのペアレンタル ロック レベルが変更されようとしていることを通知する。
EC_DVD_PLAYBACK_RATE_CHANGE 再生レートの変更が開始され、新しいレートがパラメータに指定されていることを示す。
EC_DVD_PLAYBACK_STOPPED 再生が中止されたことを示す。DVD ナビゲータはタイトルの再生を完了し、以降の再生についての分岐命令を検出しなかった。
EC_DVD_PLAYPERIOD_AUTOSTOP PlayPeriodInTitleAutoStop 呼び出しで指定されたセグメントの再生をナビゲータが完了したことを示す。
EC_DVD_STILL_OFF 静止の終わりを通知する。
EC_DVD_STILL_ON 静止の始まりを通知する。
EC_DVD_SUBPICTURE_STREAM_CHANGE メイン タイトルに対して現在のサブピクチャ ストリーム番号が変更されたことを通知する。
EC_DVD_TITLE_CHANGE 現在のタイトル番号が変更されたことを示す。
EC_DVD_VALID_UOPS_CHANGE 利用可能な IDVDControl2 インターフェイス メソッドのセットが変更されたことを通知する。
EC_DVD_WARNING DVD 警告状態を通知する。

EC_DVD_ANGLE_CHANGE

DVD イベント通知コード

利用可能なアングルの数または現在のアングル数が変更されたことを通知する。

パラメータ

lParam1
利用可能なアングルの数を示す DWORD 値。利用可能なアングルの数が 1 の場合、現在のビデオはマルチアングルではない。
lParam2
現在のアングル番号を示す DWORD 値。

注意

アングル番号は、1 〜 9 の値で示される。

現在のアングル番号は、ディスク上でオーサリングされたナビゲーション コマンドによって自動的に変更することができる。また、IDVDControl2 インターフェイスを使用してアプリケーションで制御することもできる。

このイベントは、すべてのドメインで発生する。

EC_DVD_ANGLES_AVAILABLE

DVD イベント通知コード

アングル ブロックが再生中でアングルの変更が可能などうかを示す。

パラメータ

lParam1
アングル ブロックが再生中かどうかを示すブール (BOOL) 値。 ゼロ (0) は、再生がアングル ブロック内ではないのでアングルを利用できないことを示す。1 は、アングル ブロックが再生中であり、アングルの変更が可能であることを示す。
lParam2
ゼロ。

注意

アングルの変更はアングル ブロックに限られてはいないが、アングルの変更の明示はアングル ブロック内でのみ見ることができる。

EC_DVD_AUDIO_STREAM_CHANGE

DVD イベント通知コード

メイン タイトルに対して現在のオーディオ ストリーム番号が変更されたことを通知する。

パラメータ

lParam1
新しいユーザー オーディオ ストリーム番号を示す DWORD 値。オーディオ ストリーム番号は、0 〜 7 の値で示される。ストリーム 0xFFFFFFFF は、ストリームが選択されていないことを示す。
lParam2
ゼロ。

注意

現在のオーディオ ストリームは、ディスク上でオーサリングされたナビゲーション コマンドによって自動的に変更することができる。また、IDVDControl2 インターフェイスを使用してアプリケーションで制御することもできる。

このイベントは、すべてのドメインで発生する。

EC_DVD_BUTTON_AUTO_ACTIVATED

DVD イベント通知コード

ディスク上の命令によってメニュー ボタンが自動的にアクティブになったことを通知する。この動作は、メニューがタイムアウトするとディスク上の特定のボタンが自動的にアクティブになるように指定されている場合に発生する。

パラメータ

lParam1
アクティブにされたボタンを示す DWORD 値。
lParam2
ゼロ。

このイベントは、すべてのドメインで発生する。

EC_DVD_BUTTON_CHANGE

DVD イベント通知コード

利用可能なボタンの数が変更された、または現在選択されているボタンの番号が変更されたことを通知する。

パラメータ

lParam1
利用可能なボタンの数を示す DWORD 値。
lParam2
現在選択されているボタン番号を示す DWORD 値。ゼロの場合、ボタンが選択されていないことを暗示する。

注意

ボタン番号は、1 〜 36 の値で示される。

現在選択されているボタン番号は、ディスク上でオーサリングされたナビゲーション コマンドによって自動的に変更することができる。また、IDVDControl2 インターフェイスを使用してアプリケーションで制御することもできる。

このイベントは、任意の利用可能なボタン番号を通知することができる。これらの番号は、ボタンのサブセットだけをアクティブにすることができる IDvdControl::SelectAndActivateButton で使用されるボタン番号とは必ずしも対応しない。

このイベントは、すべてのドメインで発生する。

EC_DVD_CHAPTER_AUTOSTOP

DVD イベント通知コード

IDvdControl::PlayChaptersAutoStop メソッド呼び出しによって再生が中止されたことを通知する。

パラメータ

lParam1
Zero.
lParam2
Zero.

注意

このイベントは、タイトル ドメインで発生する。

EC_DVD_CHAPTER_START

DVD イベント通知コード

DVD プレーヤーが DVD_DOMAIN_Title ドメイン内の新しいプログラムの再生を開始したことを通知する。

パラメータ

lParam1
新しいチャプター (プログラム) 番号を示す DWORD 値。
lParam2
ゼロ。

注意

単純なリニア ムービーだけがこのイベントを通知する。

このイベントは、タイトル ドメインで発生する。

EC_DVD_CMD_START

DVD イベント通知コード

特定のコマンドが開始されたことを通知する。

パラメータ

lParam1
コマンド ID および HRESULT 戻り値。
lParam2
ゼロ。

注意

このイベントは、アプリケーションがいずれかの IDVDControl2::Play... メソッドの DVD_CMD_FLAG_SendEvents フラグをセットした場合にのみ発生する。詳細については「DVD コマンドの同期化」を参照すること。

このイベントは、タイトル ドメインで発生する。

EC_DVD_CMD_END

DVD イベント通知コード

特定のコマンドが完了したことを通知する。

パラメータ

lParam1
コマンド ID および完了結果。
lParam2
ゼロ。

注意

このイベントは、アプリケーションがいずれかの IDVDControl2::Play... メソッドの DVD_CMD_FLAG_SendEvents フラグをセットした場合にのみ発生する。詳細については「DVD コマンドの同期化」を参照すること。

このイベントは、タイトル ドメインで発生する。

EC_DVD_CURRENT_HMSF_TIME

DVD イベント通知コード

タイトルの開始時を基準とした現在のタイムを DVD_HMSF_TIMECODE フォーマットで通知する。このイベントは、0.4 〜 1.0 秒間隔で発生する VOBU の開始ごとに発生する。

パラメータ

lParam1
DVD_HMSF_TIMECODE 構造体を含む ULONG 値。lParam1 を ULONG 変数に代入し、その変数を DVD_HMSF_TIMECODE にキャストして値にアクセスする。
lParam2
DVD_TIMECODE_FLAGS の共用体を含む ULONG 値。

注意

DVD_HMSF_TIMECODE フォーマットは、EC_DVD_CURRENT_TIME イベントで返される古い BCD フォーマットの代わりに使用する。HMSF タイムコードは操作が簡単である。EC_DVD_CURRENT_TIME イベントの代わりにナビゲータに EC_DVD_CURRENT_HMSF_TIME イベントを送信させるためには、アプリケーションは IDVDControl2::SetOption(DVD_HMSF_TimeCodeEvents, TRUE) を呼び出す必要がある。このフラグをセットした場合、ナビゲータは IDVDControl2 および IDVDInfo2 メソッド内のすべてのタイム パラメータが DVD_HMSF_TIMECODE として渡されることを想定する。

このイベントは、タイトル ドメインで発生する。

EC_DVD_CURRENT_TIME

DVD イベント通知コード

0.4 〜 1.0 秒の長さを持つビデオ セグメントであるビデオ オブジェクト単位 (VOBU) の開始をすべて通知する。

パラメータ

lParam1
現在の再生タイムコードを 2 進化 10 進 (BCD) の時間、分、秒、フレーム (HH:MM:SS:FF) フォーマットで示す DWORD 値。DVD_TIMECODE 構造体のメンバ。
lParam2
タイムコードを示すブール (BOOL) 値。ゼロ (0) は 25 フレーム/秒 を示し、1 は 30 フレーム/秒 (非ドロップ) を示す。値 2 は、再生タイムを判定できないことを示す。

注意

単純なリニア ムービーだけがこのイベントを通知する。

このイベントは、タイトル ドメインで発生する。

EC_DVD_DISC_EJECTED

DVD イベント通知コード

ディスクがドライブから取り出されたことを通知する。

パラメータ

lParam1
ゼロ。
lParam2
ゼロ。

注意

ディスクが取り出されると、再生は自動的に中止される。アプリケーションはこのイベントに対して特に操作を行う必要はない。

このイベントは、すべてのドメインで発生する。

EC_DVD_DISC_INSERTED

DVD イベント通知コード

ディスクがドライブに挿入されたことを通知する。

パラメータ

lParam1
ゼロ。
lParam2
ゼロ。

注意

ディスクが挿入されると、再生は自動的に開始される。アプリケーションはこのイベントに対して特に操作を行う必要はない。

このイベントは、すべてのドメインで発生する。

EC_DVD_DOMAIN_CHANGE

DVD イベント通知コード

DVD プレーヤーの新しいドメインを示す。

パラメータ

lParam1
新しいドメインを示す DWORD 値。DVD_DOMAIN 列挙データ型のメンバ。
lParam2
ゼロ。

注意

DVD プレーヤーは、ドメインを変更するごとにこのイベントを通知する。

このイベントは、すべての DVD ドメインで発生する。

EC_DVD_ERROR

DVD イベント通知コード

DVD エラー状態を通知する。

パラメータ

lParam1
エラー状態を示す DWORD 値。DVD_ERROR 列挙データ型のメンバ。
lParam2
デコーダ リージョンをビットの反転セットとして HIWORD に含み、ドライブ/システム リージョンをビットの反転セットとして LOWORD に含む DWORD 値。「注意」を参照。

注意

このイベントは、すべてのドメインで発生する。

lParam1 = DVD_ERROR_IncompatibleSystemAndDecoderRegion の場合、(1) 指定されたリージョンがデコーダにあること、(2) ドライブとデコーダ リージョンが一致しないことを示す。

lParam1 = DVD_ERROR_IncompatibleDiscAndDecoderRegion の場合、(1) 指定されたリージョンがデコーダにあること、(2) ディスクとデコーダ リージョンが一致しないことを示す。

ディスク リージョンは、ディスク上とまったく同じように、lParam2 の LOWORD のビットの予約セットとしてエンコードされる。ディスクがリージョン内で許される場合、そのビットはオフになる。たとえばリージョン 2 のディスクに対する戻り値は、最下位 から 2 番目のビットがオフになった 253 (1111 1101) となる。複数のリージョンを持つディスクでは、このようにオフになったビットが複数ある。

lParam2 の HIWORD のデコーダ リージョンも同様にエンコードされる。

EC_DVD_KARAOKE_MODE

DVD イベント通知コード

ナビゲータがカラオケ データの再生を開始または終了したことを示す。

パラメータ

lParam1
BOOL 値。TRUE はカラオケ トラックの再生中であることを、FALSE はカラオケ データの再生中でないことを示す。
lParam2
予約済み。

注意

DVD プレーヤーは、ドメインを変更するごとにこのイベントを通知する。

このイベントは、すべての DVD ドメインで発生する。

EC_DVD_NO_FP_PGC

DVD イベント通知コード

DVD ディスクが FP_PGC (First Play Program Chain) を持たず、DVD ナビゲータが自動的に PGC をロードして再生を開始しないことを通知する。

注意

このイベントは、First Play ドメインで発生する。

EC_DVD_PARENTAL_LEVEL_CHANGE

DVD イベント通知コード

オーサリングされたコンテンツのペアレンタル ロック レベルが変更されようとしていることを通知する。

パラメータ

lParam1
プレーヤーに設定された新しいペアレンタル ロック レベルを表す LONG 値。
lParam2
ゼロ。

注意

DVD ナビゲータのソース フィルタは、DVD ディスク上の SetTmpPML コマンドに対する "オンザフライ" のペアレンタル ロック レベルの変更を現在サポートしていない。

EC_DVD_PLAYBACK_RATE_CHANGE

DVD イベント通知コード

再生レートの変更が開始されたことを通知する。パラメータ lParam1 は新しい再生レートを示す。

パラメータ

lParam1
LONG は新しい再生レートを示す。lParam1 < 0 は逆方向再生モードを示す。lParam1 > 0 は正方向再生モードを示す。lParam1 は、実際の再生レートに 10,000 を掛けた値を示す (すなわち、lParam1 = playback_rate * 10000) 。
lParam2
ゼロ。

注意

このイベントは、タイトル ドメインで発生する。

EC_DVD_PLAYBACK_STOPPED

DVD イベント通知コード

再生が中止されたことを示す。DVD ナビゲータはタイトルまたはチャプターの再生を完了し、以降の再生についての分岐命令を検出しなかった。

パラメータ

lParam1
ゼロ。
lParam2
ゼロ。

注意

このイベントはタイトル ドメインで発生するが、ユーザーが起動した Stop では発生しない。

EC_DVD_STILL_OFF

DVD イベント通知コード

静止の終わり (PGC、Cell、または VOBU) を通知する。

パラメータ

lParam1
ゼロ。
lParam2
ゼロ。

注意

このイベントは、現在アクティブな静止が解放されたことを示す。

このイベントは、すべてのドメインで発生する。

EC_DVD_PLAYPERIOD_AUTOSTOP

DVD イベント通知コード

PlayPeriodInTitleAutoStop 呼び出しで指定されたセグメントの再生をナビゲータが完了したことを示す。

パラメータ

lParam1
ゼロ。
lParam2
ゼロ。

注意

このイベントは、タイトル ドメインで発生する。

このイベントは、指定されたセグメントの再生をナビゲータが完了する前にその再生がキャンセルされたときにも送信される。

EC_DVD_STILL_ON

DVD イベント通知コード

静止の始まり (PGC、Cell、または VOBU) を通知する。

パラメータ

lParam1
ボタンが利用可能かどうかを示すブール (BOOL) 値。ゼロ (0) は、ボタンが利用可能なので IDVDControl2::StillOff メソッドが機能しないことを示す。1 は、ボタンが利用不可能なので IDVDControl2::StillOff が機能することを示す。
lParam2
静止を継続する秒数を表す DWORD 値。0xFFFFFFFF は、無期限の静止、すなわちユーザーがボタンを押すか、またはアプリケーションが IDVDControl2::StillOff を呼び出すまで待機することを示す。

注意

ボタンと静止はすべての組み合わせが可能である (ボタンがオンで静止がオン、ボタンがオンで静止がオフ、ボタンがオフで静止がオン、ボタンがオフで静止がオフ)。

このイベントは、すべてのドメインで発生する。

EC_DVD_SUBPICTURE_STREAM_CHANGE

DVD イベント通知コード

メイン タイトルに対して現在のサブピクチャ ストリーム番号が変更されたことを通知する。

パラメータ

lParam1
新しいサブピクチャ ストリーム番号を示す DWORD 値。サブピクチャ ストリーム番号は、0 〜 31 の値で示される。ストリーム 0xFFFFFFFF は、ストリームが選択されていないことを示す。
lParam2
ゼロ。

注意

サブピクチャは、ディスク上でオーサリングされたナビゲーション コマンドによって自動的に変更することができる。また、IDVDControl2 を使用してアプリケーションで制御することもできる。

このイベントは、すべてのドメインで発生する。

EC_DVD_TITLE_CHANGE

DVD イベント通知コード

現在のタイトル番号が変更されたことを示す。

パラメータ

lParam1
新しいタイトル番号を示す DWORD 値。
lParam2
ゼロ。

注意

タイトル番号は、1 〜 99 の値で示される。この番号は、ディスク全体のタイトル番号である TTN を示すもので、現在の VTS に関するタイトル番号である VTS_TTN を示すものではない。

このイベントは、タイトル ドメインで発生する。

EC_DVD_VALID_UOPS_CHANGE

DVD イベント通知コード

利用可能な IDVDControl2 インターフェイス メソッドのセットが変更されたことを通知する。

パラメータ

lParam1
そのビットが DVD ディスクが明示的に無効にした IDVDControl2 コマンドを示している ULONG を表す DWORD 値。
lParam2
ゼロ。

注意

このイベントは、DVD ディスク上のコンテンツによって明示的に無効にされた操作を示すだけで、無効になっていないメソッドの呼び出しが有効であることを保証するものではない。たとえばボタンが存在しない場合、IDvdControl::ActivateButton メソッドは明示的に無効にされていなくても機能しない。

このイベントは、すべてのドメインで発生する。

EC_DVD_WARNING

DVD イベント通知コード

DVD 警告状態を通知する。

パラメータ

lParam1
警告状態を示す DWORD 値。DVD_WARNING 列挙データ型のメンバ。
lParam2
ゼロ。

注意

このイベントは、すべてのドメインで発生する。