Microsoft DirectX 8.0

IDvdControl2 インターフェイス

Microsoft® DirectShow® DVD ナビゲータ ソース フィルタは、IDvdControl2 インターフェイスを公開して、カラオケ タイトルを含む DVD-Video タイトルのナビゲーションと再生をアプリケーションが実行できるようにする。DVD プレーヤー アプリケーションは、IDvdGraphBuilder インターフェイスを使って DVD フィルタ グラフを作成した後、IDvdControl2IDvdInfo2 のメソッドを使用して DVD ナビゲータに DVD コマンドを送信し、DVD ナビゲータからステート情報を取得する。

IDvdControl2 は、旧バージョンの DVD コントロール インターフェイスである IDvdControl に比べて大幅に改良されている。新しいインターフェイスでは旧インターフェイスを継承せずに、全面的に刷新された実装をカプセル化している。IDvdControl2 は、再生、メニュー ナビゲーション、およびペアレンタル ロックを実行するためのメソッドのほか、DVD Annex J 仕様で規定されているすべての機能を備えている。

DVD フィルタ グラフ、コマンド同期、ペアレンタル ロック、メニュー、およびカラオケ サポートに関するトピックを含む DVD ナビゲータを使った DVD プレーヤー アプリケーションの作成の詳細については、「DVD アプリケーション」を参照すること。

カテゴリ別のメソッド

IUnknown メソッド説明
QueryInterfaceサポートされているインターフェイスへのポインタを取得する。
AddRef参照カウントをインクリメントする。
Release参照カウントをデクリメントする。
IDvdControl2 メソッド説明
再生
Pause現在の位置で再生をポーズまたは再開する。
PlayAtTime現在のタイトルの指定された時間から再生を開始する。
PlayAtTimeInTitle指定されたタイトルの指定された時間から再生を開始する。
PlayBackwards指定された速度で現在の位置から逆方向に再生する。
PlayChapter現在のタイトルの指定されたチャプターから再生を開始する。
PlayChapterInTitle指定されたタイトルの指定されたチャプターの先頭から再生を開始する。
PlayChaptersAutoStop指定されたタイトルの指定されたチャプターから指定された数のチャプターを再生する。
PlayForwards指定された速度で現在の位置から順方向に再生する。
PlayNextChapter現在のタイトルの次のチャプターの先頭から再生を開始する。
PlayPeriodInTitleAutoStop指定されたタイトルを指定された開始タイムから指定された終了タイムまで再生する。
PlayPrevChapter現在のタイトルの前のチャプターの先頭から再生を開始する。
PlayTitle指定されたタイトルの先頭から再生を開始する。
ReplayChapter現在のチャプターの先頭から再生を開始する。
StopDVD ナビゲータを DVD Stop ドメインに移行させることにより、タイトルまたはメニューの再生を停止する。
メニュー
ActivateAtPositionマウス ポインタの下にあるメニュー ボタンをアクティブにする。
ActivateButton選択されているメニュー ボタンをアクティブにする。
Resumeメニューから抜けて再生を再開する。
ReturnFromSubmenu表示をサブメニューからそのサブメニューの親メニューに戻す。
SelectAtPositionマウス ポインタの下にあるメニュー ボタンを強調表示する。
SelectAndActivateButton指定されたメニュー ボタンを選択し、アクティブにする。
SelectButton指定されたメニュー ボタンを選択する。
SelectDefaultMenuLanguageすべてのメニューとメニュー ボタンで使用されるデフォルトの言語を設定する。
SelectRelativeButton指定された相対ボタン (上、下、右、左) を選択する。
ShowMenu指定されたメニューがあれば表示する。
ビデオ ストリーム
SelectAngleDVD ナビゲータがアングル ブロックにある間、新しいアングルを設定する。
StillOff再生を再開し、静止モードをキャンセルする。
SelectVideoModePreference現在以降のビデオ ディスプレイ モードをワイド スクリーン、レターボックス、またはパン-スキャンのいずれかに設定する。
オーディオ ストリーム
SelectAudioStream再生するオーディオ ストリームを選択する。
SelectDefaultAudioLanguageデフォルトのオーディオ言語を設定する。
SelectKaraokeAudioPresentationModeカラオケ補助チャンネルを左スピーカまたは右スピーカに送る。
サブピクチャ ストリーム
SelectDefaultSubpictureLanguageサブピクチャ テキストのデフォルトの言語を設定する。
SelectSubpictureStream表示するサブピクチャ ストリームを設定する。
SetSubpictureStateサブピクチャの表示をオン、オフする。
ペアレンタル ロック レベル
AcceptParentalLevelChange現在より高いペアレンタル ロック レベルでコンテンツを再生することを求める DVD ナビゲータからの要求を受諾または拒否する。
SelectParentalCountryペアレンタル ロック アクセス レベルを解釈し、デフォルトの言語を設定するときの基準となる国を設定する。
SelectParentalLevelログオンしているユーザーのペアレンタル ロック アクセス レベルを設定する。
DVD ナビゲータ コントロール
SetDVDDirectoryDVD ナビゲータが読み込む DVD ドライブを設定する。
SetOptionDVD ナビゲータの内部動作フラグを有効または無効にする。
SetState後で取り出せるように、現在のディスク位置と DVD ナビゲータの状態を保存する。
SetGPRM汎用パラメータ レジスタ値を設定する。

IDvdControl2::AcceptParentalLevelChange

IDvdControl2 インターフェイス

現在より高いペアレンタル ロック レベルでコンテンツを再生することを求める DVD ナビゲータからの要求を受諾または拒否する。

構文

HRESULT AcceptParentalLevelChange(
    BOOL bAccept
);

パラメータ

bAccept
[in] アプリケーションがペアレンタル ロック レベルの変更を受け入れるかどうかを示すフラグ。変更を受け入れて、現在より高いレベルのコンテンツを再生するときは TRUE を指定し、変更を拒否するときは FALSE を指定する。

戻り値

成功すれば S_OK を返す。それ以外の場合はエラー コードを返す。

注意

一時ペアレンタル ロック レベル (PML) コマンドは、それ以降のコンテンツの PML がタイトル全体に指定されているレベルより高いことを示す DVD ディスク上のマーカーである。このマーカーには、変更が受諾または拒否された場合の分岐箇所を示す指示も含まれている。FALSE を指定すると、DVD ナビゲータはディスク上の拒否時の分岐に移動する。TRUE を指定すると、DVD ナビゲータは、現在より高いレベルのコンテンツに至る分岐に移動する。

AcceptParentalLevelChangeSetOption メソッドと共に使用する。イベントの順序は以下のとおりである。まず、SetOption(DVD_NotifyParentalLevelChange, TRUE) を呼び出し、DVD ナビゲータに対して、アプリケーションに EC_DVD_PARENTAL_LEVEL_CHANGE イベント通知を送信した後は常に待機するように指示する。次に、変更を受け入れるか、拒否するかを決定するためのコードをイベント ハンドラに実装し、AcceptParentalLevelChange を呼び出してその決定を DVD ナビゲータに通知する。

次の表は、このメソッド名が対応する Annex J コマンド名、およびこのメソッドが有効なドメインを示している。

Annex J コマンド名有効なドメイン
なしすべて

参照

ペアレンタル ロック レベルの適用

IDvdControl2::ActivateAtPosition

IDvdControl2 インターフェイス

マウス ポインタの下にあるメニュー ボタンをアクティブにする。

構文

HRESULT ActivateAtPosition(
    POINT point
);

パラメータ

point
[in] 画面ピクセル座標で表すクライアント ウィンドウ領域上の位置。

戻り値

次のいずれかの値を返す。
S_OK強調表示されているボタンの矩形領域内でマウスがクリックされ、ボタンがアクティブになっている。
E_INVALIDARGポインタが有効なビデオ リージョンの外にある。
E_UNEXPECTEDボタンはあるが、動作していない。
VFW_E_DVD_INVALIDDOMAINDVD ナビゲータがメニュー ドメイン内にない。
VFW_E_DVD_NO_BUTTONマウス ポインタの下にメニュー ボタンがない。
VFW_E_DVD_OPERATION_INHIBITEDユーザー操作 (UOP) コントロールによって操作が禁止されている。

注意

マウス ポインタの座標の基準点はクライアント領域の左上隅であるが、ビデオのフォーマットがレターボックスの場合は、クライアント領域がビデオ ディスプレイ領域と一致しないことがある。

ユーザーがメニュー ボタン上で直接マウス ポインタを動かすことによってメニューのナビゲーションを行っている場合は、このメソッドを使用する。ユーザーが相対ボタンを使ってメニューのナビゲーションを行っている場合は、ActivateAtPosition ではなく、ActivateButton を使用する。

次の表は、このメソッド名が対応する Annex J コマンド名、およびこのメソッドが有効なドメインを示している。

Annex J コマンド名有効なドメイン
なしDVD_DOMAIN_VideoManagerMenu
DVD_DOMAIN_VideoTitleSetMenu

参照

DVD メニューの操作

IDvdControl2::ActivateButton

IDvdControl2 インターフェイス

選択されているメニュー ボタンをアクティブにする。

構文

HRESULT ActivateButton(void);

戻り値

次のいずれかの値を返す。
S_OK成功。
VFW_E_DVD_INVALIDDOMAINDVD ナビゲータが無効なドメイン内にある。
VFW_E_DVD_OPERATION_INHIBITEDUOP コントロールにより、DVD ナビゲータがポーズ状態になることを禁止されている。
VFW_E_DVD_NO_BUTTONどのボタンも選択されていない。

注意

アプリケーションのビデオ ディスプレイ上には、物理的なリモート コントロールのボタンに相当する 4 個の相対ボタンが表示される場合も、表示されない場合もある。相対ボタンを使用すると、ユーザーは、メニュー ボタンをアクティブにせずに、選択するだけにどどめることができる。この場合は、選択されたボタンをアクティブにするための 5 番目のボタンが必要になる。5 番目のボタンがクリックされた場合は、それに応じて ActivateButton を呼び出す。

次の表は、このメソッド名が対応する Annex J コマンド名、およびこのメソッドが有効なドメインを示している。

Annex J コマンド名有効なドメイン
Button_ActivateDVD_DOMAIN_VideoManagerMenu
DVD_DOMAIN_VideoTitleSetMenu
DVD_DOMAIN_Title

参照

DVD メニューの操作

IDvdControl2::Pause

IDvdControl2 インターフェイス

現在の位置で再生をポーズまたは再開する。

構文

HRESULT Pause(
    BOOL bState
);

パラメータ

bState
[in] 再生をポーズするかどうかを示すブール型の値。TRUE を指定するとポーズが実行される。

戻り値

次のいずれかの値を返す。

S_OK成功。
VFW_E_DVD_INVALIDDOMAIN無効なドメイン。
VFW_E_DVD_OPERATION_INHIBITEDUOP コントロールにより、DVD ナビゲータがポーズ状態になることを禁止されている。

注意

DVD ナビゲータをポーズ状態にすると、IMediaControl2::Pause と同様に、再生とすべての内部タイマが静止する。フィルタ グラフが動作していない場合、このメソッドは何もしない。

このメソッドの使用例については、DVDSample アプリケーションの「CDvdCore::Pause」を参照すること。

次の表は、このメソッド名が対応する Annex J コマンド名、およびこのメソッドが有効なドメインを示している。

Annex J コマンド名有効なドメイン
PauseOn/PauseOff DVD_DOMAIN_VideoManagerMenu
DVD_DOMAIN_VideoTitleSetMenu
DVD_DOMAIN_Title

IDvdControl2::PlayAtTime

IDvdControl2 インターフェイス

現在のタイトルの指定された時間から再生を開始する。

構文

HRESULT PlayAtTime(
    DVD_HMSF_TIMECODE *pTime,
    DWORD dwFlags,
    IDvdCmd **ppCmd
);

パラメータ

pTime
[in] 再生を開始する時間を指定する DVD_HMSF_TIMECODE 構造体へのポインタ。
dwFlags
[in] コマンド同期オプションを指定する 1 つ以上の DVD_CMD_FLAGS 値を含むビット フラグ。
ppCmd
[out] DVD コマンドの同期に使用できる IDvdCmd オブジェクトへのポインタのアドレス。

戻り値

次のいずれかの値を返す。

S_OK成功。
E_INVALIDARG無効な引数。
VFW_E_DVD_OPERATION_INHIBITEDUOP コントロールが処理を禁止している。

注意

このメソッドの使用例については、DVDSample アプリケーションの「CDvdCore::PlayTime」を参照すること。

次の表は、このメソッド名が対応する Annex J コマンド名、およびこのメソッドが有効なドメインを示している。

Annex J コマンド名有効なドメイン
Time_Search DVD_DOMAIN_Title

参照

DVD コマンドの同期化

IDvdControl2::PlayAtTimeInTitle

IDvdControl2 インターフェイス

指定されたタイトルの指定された時間から再生を開始する。

構文

HRESULT PlayAtTimeInTitle(
    ULONG uiTitle,
    DVD_HMSF_TIMECODE *pTime,
    DWORD dwFlags,
    IDvdCmd **ppCmd
);

パラメータ

uiTitle
[in] 再生するタイトルの番号を指定する値。この値は 1 から 99 の間でなければならない。
pTime
[in] 再生を開始する位置を指定する DVD_HMSF_TIMECODE 構造体へのポインタ。
dwFlags
[in] コマンド同期オプションを指定する 1 つ以上の DVD_CMD_FLAGS 値を含むビット フラグ。
ppCmd
[out] DVD コマンドの同期に使用できる IDvdCmd オブジェクトへのポインタのアドレス。

戻り値

次のいずれかの値を返す。

S_OK成功。
VFW_E_DVD_OPERATION_INHIBITEDUOP コントロールが処理を禁止している。
E_INVALIDARG無効な引数。

注意

次の表は、このメソッド名が対応する Annex J コマンド名、およびこのメソッドが有効なドメインを示している。

Annex J command nameValid domains
Time_Play DVD_DOMAIN_VideoManagerMenu
DVD_DOMAIN_VideoTitleSetMenu
DVD_DOMAIN_Title
DVD_DOMAIN_Stop

参照

DVD コマンドの同期化

IDvdControl2::PlayBackwards

IDvdControl2 インターフェイス

指定された速度で現在の位置から逆方向に再生する。

構文

HRESULT PlayBackwards(
    double dwSpeed,
    DWORD dwFlags,
    IDvdCmd **ppCmd
);

パラメータ

dwSpeed
[in] 逆方向の再生速度を指定する値。この値は、作成されたときの速度を 1.0 とする乗数である。したがって、2.5 を指定すると、作成速度の 2.5 倍の速度で逆方向の再生が行われ、0.5 を指定すると作成速度の半分の速度で逆方向の再生が行われる。実際の再生速度は、ビデオ デコーダの機能によって異なり、指定された速度と異なることがある。逆方向の再生では、オーディオがミュートされ、サブピクチャは表示されない。0.00001 未満の速度はすべて 0.00001 に変換される。
dwFlags
[in] コマンド同期オプションを指定する 1 つ以上の DVD_CMD_FLAGS 値を含むビット フラグ。
ppCmd
[out] DVD コマンドの同期に使用できる IDvdCmd オブジェクトへのポインタのアドレス。

戻り値

次のいずれかの値を返す。

S_OK成功。
VFW_E_DVD_OPERATION_INHIBITEDUOP コントロールが処理を禁止している。

注意

このメソッドの使用例については、DVDSample アプリケーションの「CDvdCore::Rewind」を参照すること。1 フレームずつコマ送りしながら逆方向に再生するには、サンプル アプリケーションの CDvdCore::FrameStep の使用例のように IVideoFrameStep インターフェイスを使用する。

次の表は、このメソッド名が対応する Annex J コマンド名、およびこのメソッドが有効なドメインを示している。

Annex J コマンド名有効なドメイン
Backward_ScanDVD_DOMAIN_VideoManagerMenu
DVD_DOMAIN_VideoTitleSetMenu
DVD_DOMAIN_Title

IDvdControl2::PlayChapter

IDvdControl2 インターフェイス

現在のタイトルの指定されたチャプターから再生を開始する。

構文

HRESULT PlayChapter(
    ULONG ulChapter,
    DWORD dwFlags,
    IDvdCmd **ppCmd
);

パラメータ

ulChapter
[in] DVD ナビゲータが再生を開始する現在のタイトルのチャプターを指定する値。この値は 1 から 999 の間でなければならない。
dwFlags
[in] コマンド同期オプションを指定する 1 つ以上の DVD_CMD_FLAGS 値を含むビット フラグ。
ppCmd
[out] DVD コマンドの同期に使用できる IDvdCmd オブジェクトへのポインタのアドレス。

戻り値

次のいずれかの値を返す。

S_OK成功。
VFW_E_DVD_OPERATION_INHIBITEDUOP コントロールが処理を禁止している。
E_INVALIDARG無効な引数。

注意

DVD ナビゲータは、指定されたチャプターから再生を開始し、それ以降のチャプターを引き続き再生する。現在のチャプターだけを再生するには、PlayChaptersAutoStop を使用する。

次の表は、このメソッド名が対応する Annex J コマンド名、およびこのメソッドが有効なドメインを示している。

このメソッドの使用例については、DVDSample アプリケーションの「CDvdCore::PlayChapter」を参照すること。
Annex J コマンド名有効なドメイン
PTT_Search DVD_DOMAIN_Title

参照

DVD コマンドの同期化

IDvdControl2::PlayChapterInTitle

IDvdControl2 インターフェイス

指定されたタイトルの指定されたチャプターの先頭から再生を開始する。

構文

HRESULT PlayChapterInTitle(
    ULONG ulTitle,
    ULONG ulChapter,
    DWORD dwFlags,
    IDvdCmd **ppCmd
);

パラメータ

ulTitle
[in] 目的のチャプターが含まれているタイトルを指定する値。この値は 1 から 99 の間でなければならない。
ulChapter
[in] DVD ナビゲータが再生を開始する指定されたタイトルのチャプターを指定する値。この値は 1 から 999 の間でなければならない。
dwFlags
[in] コマンド同期オプションを指定する 1 つ以上の DVD_CMD_FLAGS 値を含むビット フラグ。
ppCmd
[out] DVD コマンドの同期に使用できる IDvdCmd オブジェクトへのポインタのアドレス。

戻り値

次のいずれかの値を返す。

S_OK成功。
VFW_E_DVD_OPERATION_INHIBITEDUOP コントロールが処理を禁止している。
E_INVALIDARG無効な引数。

注意

次の表は、このメソッド名が対応する Annex J コマンド名、およびこのメソッドが有効なドメインを示している。

このメソッドの使用例については、DVDSample アプリケーションの「CDvdCore::PlayChapterInTitle」を参照すること。
Annex J コマンド名有効なドメイン
PTT_Play DVD_DOMAIN_VideoManagerMenu
DVD_DOMAIN_VideoTitleSetMenu
DVD_DOMAIN_Title
DVD_DOMAIN_Stop

参照

DVD コマンドの同期化

IDvdControl2::PlayChaptersAutoStop

IDvdControl2 インターフェイス

指定されたタイトルの指定されたチャプターから指定された数のチャプターを再生する。

構文

HRESULT PlayChaptersAutoStop(
    ULONG ulTitle,
    ULONG ulChapter,
    ULONG ulChaptersToPlay,
    DWORD dwFlags,
    IDvdCmd **ppCmd
);

パラメータ

ulTitle
[in] 目的のチャプターが含まれているタイトルを指定する値。この値は 1 から 99 の間でなければならない。
ulChapter
[in] DVD ナビゲータが再生を開始する指定されたタイトルのチャプターを指定する値。この値は 1 から 999 の間でなければならない。
ulChaptersToPlay
[in] 開始チャプターから再生するチャプターの数。
dwFlags
[in] コマンド同期オプションを指定する 1 つ以上の DVD_CMD_FLAGS 値を含むビット フラグ。
ppCmd
[out] DVD コマンドの同期に使用できる IDvdCmd オブジェクトへのポインタのアドレス。

戻り値

次のいずれかの値を返す。

S_OK成功。
E_UNEXPECTEDDVD ナビゲータが初期化されていない、またはタイトルが単一シーケンシャル PGC タイトルではない。
E_INVALIDARGulTitle 値が存在しない、またはタイトルの数を上回る。あるいは、ulChapter が存在しない、またはチャプターの数を上回る。あるいは、ulChapterulChaptersToPlay の合計がチャプターの数を上回る。
VFW_E_DVD_GRAPHNOTREADYグラフが動作状態になっていない。

注意

このメソッドは One_Sequential_PGC_Title でのみ機能する。DVD ナビゲータは、指定された数のチャプターを再生した後、アプリケーションに EC_DVD_CHAPTER_AUTOSTOP イベント通知を送る。

次の表は、このメソッド名が対応する Annex J コマンド名、およびこのメソッドが有効なドメインを示している。

Annex J コマンド名有効なドメイン
なしすべて

参照

EC_DVD_CHAPTER_AUTOSTOPDVD コマンドの同期化

IDvdControl2::PlayForwards

IDvdControl2 インターフェイス

指定された速度で現在の位置から順方向に再生する。

構文

HRESULT PlayForwards(
    double dwSpeed,
    DWORD dwFlags,
    IDvdCmd **ppCmd
);

パラメータ

dwSpeed
[in] 再生速度を指定する値。この値は、作成されたときの速度を 1.0 とする乗数である。したがって、2.5 を指定すると、作成速度の 2.5 倍の速度で再生され、0.5 を指定すると作成速度の半分の速度で再生される。実際の再生速度は、ビデオ デコーダの機能によって異なる。
dwFlags
[in] コマンド同期オプションを指定する 1 つ以上の DVD_CMD_FLAGS 値を含むビット フラグ。
ppCmd
[out] DVD コマンドの同期に使用できる IDvdCmd オブジェクトへのポインタのアドレス。

戻り値

次のいずれかの値を返す。

S_OK成功。
VFW_E_DVD_OPERATION_INHIBITEDUOP コントロールが処理を禁止している。

注意

このメソッドの使用例については、DVDSample アプリケーションの「CDvdCore::FastForward」を参照すること。

次の表は、このメソッド名が対応する Annex J コマンド名、およびこのメソッドが有効なドメインを示している。

Annex J コマンド名有効なドメイン
Forward_Scan DVD_DOMAIN_VideoManagerMenu
DVD_DOMAIN_VideoTitleSetMenu
DVD_DOMAIN_Title

IDvdControl2::PlayNextChapter

IDvdControl2 インターフェイス

現在のタイトルの次のチャプターの先頭から再生を開始する。

構文

HRESULT PlayNextChapter(
    DWORD dwFlags,
    IDvdCmd **ppCmd
);

パラメータ

dwFlags
[in] コマンド同期オプションを指定する 1 つ以上の DVD_CMD_FLAGS 値を含むビット フラグ。
ppCmd
[out] DVD コマンドの同期に使用できる IDvdCmd オブジェクトへのポインタのアドレス。

戻り値

次のいずれかの値を返す。

S_OK成功。
VFW_E_DVD_OPERATION_INHIBITEDUOP コントロールが処理を禁止している。

注意

DVD ナビゲータは、次のチャプターを再生した後、ディスク上の分岐命令に従って再生を継続する。次のチャプターだけを再生するには、PlayChaptersAutoStop を呼び出す。

このメソッドの使用例については、DVDSample アプリケーションの「CDvdCore::NextChapter」を参照すること。

次の表は、このメソッド名が対応する Annex J コマンド名、およびこのメソッドが有効なドメインを示している。

Annex J コマンド名有効なドメイン
NextPG_Search DVD_DOMAIN_VideoManagerMenu
DVD_DOMAIN_VideoTitleSetMenu
DVD_DOMAIN_Title

参照

DVD コマンドの同期化

IDvdControl2::PlayPeriodInTitleAutoStop

IDvdControl2 インターフェイス

指定されたタイトルを指定された開始タイムから指定された終了タイムまで再生する。

構文

HRESULT PlayPeriodInTitleAutoStop(
    ULONG ulTitle
    DVD_HMSF_TIMECODE *pStartTime
    DVD_HMSF_TIMECODE *pEndTime
    DWORD dwFlags
    IDvdCmd **ppCmd
);

パラメータ

ulTitle
[in] タイトルを指定する値。この値は 1 から 99 の間でなければならない。
pStartTime
[in] 再生を開始する時間を指定する DVD_HMSF_TIMECODE 構造体へのポインタ。
pEndTime
[in] 再生を停止する時間を指定する DVD_HMSF_TIMECODE 構造体へのポインタ。
dwFlags
[in] コマンド同期オプションを指定する 1 つ以上の DVD_CMD_FLAGS 値を含むビット フラグ。
ppCmd
DVD コマンドの同期に使用できる IDvdCmd オブジェクトへのポインタ。

戻り値

次のいずれかの値を返す。

S_OK成功。
VFW_E_DVD_OPERATION_INHIBITEDUOP コントロールが処理を禁止している。
E_INVALIDARG無効な引数。

注意

実際の開始タイムおよび終了タイムは、DVD_HMSF_TIMECODE によって指定されるフレーム番号またはそれ以前の時間である。pStartTime および pEndTime ではフレーム レート コードは無視される。

次の表は、このメソッド名が対応する Annex J コマンド名、およびこのメソッドが有効なドメインを示している。

Annex J コマンド名有効なドメイン
なし DVD_DOMAIN_VideoManagerMenu
DVD_DOMAIN_VideoTitleSetMenu
DVD_DOMAIN_Title
DVD_DOMAIN_Stop

参照

DVD コマンドの同期化

IDvdControl2::PlayPrevChapter

IDvdControl2 インターフェイス

現在のタイトルの前のチャプターの先頭から再生を開始する。

構文

HRESULT PlayPrevChapter(
    DWORD dwFlags,
    IDvdCmd **ppCmd
);

パラメータ

dwFlags
コマンド同期オプションを指定する 1 つ以上の DVD_CMD_FLAGS 値を含むビット フラグ。
ppCmd
DVD コマンドの同期に使用できる IDvdCmd オブジェクトへのポインタ。

戻り値

次のいずれかの値を返す。

S_OK成功。
VFW_E_DVD_OPERATION_INHIBITEDUOP コントロールが処理を禁止している。

注意

次の表は、このメソッド名が対応する Annex J コマンド名、およびこのメソッドが有効なドメインを示している。

このメソッドの使用例については、DVDSample アプリケーションの「CDvdCore::PrevChapter」を参照すること。
Annex J コマンド名有効なドメイン
PrevPG_Search DVD_DOMAIN_VideoManagerMenu
DVD_DOMAIN_VideoTitleSetMenu
DVD_DOMAIN_Title

参照

DVD コマンドの同期化

IDvdControl2::PlayTitle

IDvdControl2 インターフェイス

指定されたタイトルの先頭から再生を開始する。

構文

HRESULT PlayTitle(
    ULONG uiTitle
    DWORD dwFlags,
    IDvdCmd **ppCmd
);

パラメータ

uiTitle
タイトル番号を指定する値。この値は 1 から 99 の間でなければならない。
dwFlags
コマンド同期オプションを指定する 1 つ以上の DVD_CMD_FLAGS 値を含むビット フラグ。
ppCmd
DVD コマンドの同期に使用できる IDvdCmd オブジェクトへのポインタ。

戻り値

次のいずれかの値を返す。

S_OK成功。
VFW_E_DVD_OPERATION_INHIBITEDUOP コントロールが処理を禁止している。
E_INVALIDARG無効な引数。

注意

次の表は、このメソッド名が対応する Annex J コマンド名、およびこのメソッドが有効なドメインを示している。

Annex J コマンド名有効なドメイン
Title_Play DVD_DOMAIN_VideoManagerMenu
DVD_DOMAIN_VideoTitleSetMenu
DVD_DOMAIN_Title
DVD_DOMAIN_Stop

参照

DVD コマンドの同期化

IDvdControl2::ReplayChapter

IDvdControl2 インターフェイス

現在のチャプターの先頭から再生を開始する。

構文

HRESULT ReplayChapter(
    DWORD dwFlags,
    IDvdCmd **ppCmd
);

パラメータ

dwFlags
コマンド同期オプションを指定する 1 つ以上の DVD_CMD_FLAGS 値を含むビット フラグ。
ppCmd
DVD コマンドの同期に使用できる IDvdCmd オブジェクトへのポインタ。

戻り値

次のいずれかの値を返す。

S_OK成功。
VFW_E_DVD_OPERATION_INHIBITEDUOP コントロールが処理を禁止している。

注意

次の表は、このメソッド名が対応する Annex J コマンド名、およびこのメソッドが有効なドメインを示している。

Annex J コマンド名有効なドメイン
TopPG_Search DVD_DOMAIN_VideoManagerMenu
DVD_DOMAIN_VideoTitleSetMenu
DVD_DOMAIN_Title

参照

DVD コマンドの同期化

IDvdControl2::Resume

IDvdControl2 インターフェイス

メニューから抜けて再生を再開する。

構文

HRESULT Resume(
    DWORD dwFlags,
    IDvdCmd **ppCmd
    );

パラメータ

dwFlags
コマンド同期オプションを指定する 1 つ以上の DVD_CMD_FLAGS 値を含むビット フラグ。
ppCmd
DVD コマンドの同期に使用できる IDvdCmd オブジェクトへのポインタ。

戻り値

次のいずれかの値を返す。

S_OK成功。
VFW_E_DVD_OPERATION_INHIBITEDUOP コントロールが処理を禁止している。
VFW_E_DVD_NO_RESUME_INFORMATIONビデオ マネージャ メニューから Resume が呼び出された。

注意

このメソッドでは、再生を中断した位置から再生が再開される。

次の表は、このメソッド名が対応する Annex J コマンド名、およびこのメソッドが有効なドメインを示している。

このメソッドの使用例については、DVDSample アプリケーションの「CDvdCore::RootMenu」および「CDvdCore::TitleMenu」を参照すること。
Annex J コマンド名有効なドメイン
Resume DVD_DOMAIN_VideoManagerMenu
DVD_DOMAIN_VideoTitleSetMenu
DVD_DOMAIN_Stop

IDvdControl2::ReturnFromSubmenu

IDvdControl2 インターフェイス

表示をサブメニューからサブメニューの親メニューに戻す。

構文

HRESULT ReturnFromSubmenu(
    DWORD dwFlags,
    IDvdCmd **ppCmd
);

パラメータ

dwFlags
コマンド同期オプションを指定する 1 つ以上の DVD_CMD_FLAGS 値を含むビット フラグ。
ppCmd
DVD コマンドの同期に使用できる IDvdCmd オブジェクトへのポインタ。

戻り値

次のいずれかの値を返す。

S_OK成功。
VFW_E_DVD_OPERATION_INHIBITEDUOP コントロールが処理を禁止している。

注意

DVD ナビゲータが最上位メニューにある場合、このメソッドは Resume メソッドを呼び出し、再生を中断した位置から再生を再開させる。

次の表は、このメソッド名が対応する Annex J コマンド名、およびこのメソッドが有効なドメインを示している。

Annex J コマンド名有効なドメイン
GoUP DVD_DOMAIN_VideoManagerMenu
DVD_DOMAIN_VideoTitleSetMenu
DVD_DOMAIN_Title

参照

DVD コマンドの同期化DVD メニューの操作

IDvdControl2::SelectAndActivateButton

IDvdControl2 インターフェイス

指定されたメニュー ボタンを選択し、アクティブにする。

構文

HRESULT SelectAndActivateButton(
    ULONG ulButton
);

パラメータ

ulButton
[in] 選択し、アクティブにするボタンを指定する 1 から 36 の間の値。

戻り値

次のいずれかの値を返す。

S_OK成功。
E_INVALIDARGulButton が範囲外である。
E_UNEXPECTEDulButton 値は有効であるが、DVD ナビゲータ フィルタがボタンをアクティブにすることができなかった。
VFW_E_DVD_OPERATION_INHIBITEDUOP コントロールが処理を禁止している。

注意

次の表は、このメソッド名が対応する Annex J コマンド名、およびこのメソッドが有効なドメインを示している。

Annex J コマンド名有効なドメイン
Button_Select_And_Activate DVD_DOMAIN_VideoManagerMenu
DVD_DOMAIN_VideoTitleSetMenu
DVD_DOMAIN_Title

参照

DVD メニューの操作

IDvdControl2::SelectAngle

IDvdControl2 インターフェイス

DVD ナビゲータがアングル ブロックにある間、新しいアングルを設定する。

構文

HRESULT SelectAngle(
    ULONG ulAngle,
    DWORD dwFlags,
    IDvdCmd **ppCmd
);

パラメータ

ulAngle
[in] 新しいアングルの値。1 から 9 の間でなければならない。
dwFlags
[in] コマンド同期オプションを指定する 1 つ以上の DVD_CMD_FLAGS 値を含むビット フラグ。
ppCmd
[out] DVD コマンドの同期に使用できる IDvdCmd オブジェクトへのポインタのアドレス。

戻り値

次のいずれかの値を返す。

S_OK成功。
E_INVALIDARGulAngle が範囲外である。
VFW_E_DVD_INVALIDDOMAINDVD ナビゲータが First Play ドメイン内にある。
VFW_E_DVD_OPERATION_INHIBITEDUOP コントロールが処理を禁止している。

注意

オーディオ ストリームとサブピクチャ ストリームのインデックスは開始値が 0 であるが、アングルとメニュー ボタンのインデックスは開始値が 1 である点に注意すること。

次の表は、このメソッド名が対応する Annex J コマンド名、およびこのメソッドが有効なドメインを示している。

Annex J コマンド名有効なドメイン
Angle_Change DVD_DOMAIN_VideoManagerMenu
DVD_DOMAIN_VideoTitleSetMenu
DVD_DOMAIN_Title
DVD_DOMAIN_Stop

参照

ドメイン

IDvdControl2::SelectAtPosition

IDvdControl2 インターフェイス

マウス ポインタの下にあるメニュー ボタンを強調表示する。

構文

HRESULT SelectAtPosition(
    POINT point
);

パラメータ

point
[in] 画面ピクセル座標で表す画面上の位置。

戻り値

次のいずれかの値を返す。

S_OK成功。
VFW_E_DVD_NO_BUTTONマウス ポインタの位置にボタンがない。
VFW_E_DVD_INVALIDDOMAINDVD ナビゲータが Stop ドメイン内にある。

注意

オーディオ ストリームとサブピクチャ ストリームのインデックスは開始値が 0 であるが、アングルとメニュー ボタンのインデックスは開始値が 1 である点に注意すること。

ポインタがメニュー ボタン上にある場合は、マウスのクリックに応じて ActivateButton を呼び出す。

次の表は、このメソッド名が対応する Annex J コマンド名、およびこのメソッドが有効なドメインを示している。

このメソッドの使用例については、DVDSample の「CDvdCore::OnMouseEvent」を参照すること。

Annex J コマンド名有効なドメイン
なし DVD_DOMAIN_VideoManagerMenu
DVD_DOMAIN_VideoTitleSetMenu
DVD_DOMAIN_Title
DVD_DOMAIN_FirstPlay

参照

ActivateAtPositionドメインDVD メニューの操作

IDvdControl2::SelectAudioStream

IDvdControl2 インターフェイス

再生するオーディオ ストリームを選択する。

構文

HRESULT SelectAudioStream(
    ULONG ulAudio,
    DWORD dwFlags,
    IDvdCmd **ppCmd
);

パラメータ

ulAudio
[in] 使用するオーディオ トラックを指定する値。0 から 7 の間の整数値でなければならない。デフォルトのストリームを指定するには、DVD_DEFAULT_AUDIO_STREAM を指定する。
dwFlags
[in] コマンド同期オプションを指定する 1 つ以上の DVD_CMD_FLAGS 値を含むビット フラグ。
ppCmd
[out] DVD コマンドの同期に使用できる IDvdCmd オブジェクトへのポインタのアドレス。

戻り値

次のいずれかの値を返す。

S_OK成功。
E_INVALIDARGulAudio が範囲外であるか、オーディオ ストリームに対応していない。
E_UNEXPECTEDulAudio 値は有効であるが、何らかの理由で DVD ナビゲータが値を設定できなかった。
VFW_E_DVD_OPERATION_INHIBITEDUOP コントロールが処理を禁止している。
VFW_E_DVD_STREAM_DISABLED指定されたストリームが無効になっている。

注意

このメソッドは、現在のビデオ タイトル セット (VTS) のオーディオを対象とする。メニュー内からこのメソッドを呼び出した場合は、メニューを呼び出したタイトルのオーディオ ストリームが設定される。

次の表は、このメソッド名が対応する Annex J コマンド名、およびこのメソッドが有効なドメインを示している。

Annex J コマンド名有効なドメイン
Audio_Stream_Change DVD_DOMAIN_VideoManagerMenu
DVD_DOMAIN_VideoTitleSetMenu
DVD_DOMAIN_Title
DVD_DOMAIN_Stop

IDvdControl2::SelectButton

IDvdControl2 インターフェイス

指定されたメニュー ボタンを選択する。

構文

HRESULT SelectButton(
    ULONG ulButton
);

パラメータ

ulButton
[in] 選択するボタンを指定する 1 から 36 の間の値。

戻り値

次のいずれかの値を返す。

S_OK成功。
VFW_E_DVD_INVALIDDOMAINDVD ナビゲータが無効なドメイン内にある。
VFW_E_DVD_NO_BUTTONどのボタンも選択されていない。
VFW_E_DVD_OPERATION_INHIBITEDUOP コントロールにより、DVD ナビゲータがポーズ状態になることを禁止されている。

注意

次の表は、このメソッド名が対応する Annex J コマンド名、およびこのメソッドが有効なドメインを示している。

Annex J コマンド名有効なドメイン
Button_SelectDVD_DOMAIN_VideoManagerMenu
DVD_DOMAIN_VideoTitleSetMenu
DVD_DOMAIN_Title

参照

DVD メニューの操作

IDvdControl2::SelectDefaultAudioLanguage

IDvdControl2 インターフェイス

デフォルトのオーディオ言語を設定する。

構文

HRESULT SelectDefaultAudioLanguage(
    LCID Language
    DVD_AUDIO_LANG_EXT audioExtension
);

パラメータ

Language
[in] デフォルト言語を指定するロケール識別子。
audioExtension
[in] デフォルトのオーディオ言語拡張機能を指定する DVD_AUDIO_LANG_EXT 値。

戻り値

次のいずれかの値を返す。

S_OK成功。
E_INVALIDARGaudioExtension 値が無効である。
VFW_E_DVD_INVALIDDOMAINDVD ナビゲータ フィルタが Stop ドメイン内にある。

注意

このメソッドでは、ディスクを再生するときに使用するデフォルトの言語および言語拡張機能を選択する。たとえば、Language が英語に相当する 0x409 に指定されており、audioExtension が DVD_AUD_EXT_NotSpecified に指定されている場合、DVD ナビゲータは、英語の基本的なオーディオ ストリームを検索する。audioExtension が DVD_AUD_EXT_VisuallyImpaired に指定されている場合、DVD ナビゲータは、まず、視力が弱い人のための英語の特殊なオーディオ ストリームを検索する。デフォルトのストリームがディスク上で見つからない場合、DVD ナビゲータは、要求に最も近いストリームを選択する。

次の表は、このメソッド名が対応する Annex J コマンド名、およびこのメソッドが有効なドメインを示している。

Annex J コマンド名有効なドメイン
なし DVD_DOMAIN_Stop

IDvdControl2::SelectDefaultMenuLanguage

IDvdControl2 インターフェイス

すべてのメニューとメニュー ボタンで使用されるデフォルトの言語を設定する。

構文

HRESULT SelectDefaultMenuLanguage(
    LCID Language
);

パラメータ

Language
デフォルト言語を指定する LCID 型の変数。

戻り値

次のいずれかの値を返す。

S_OK成功。
E_INVALIDARG無効な引数。
VFW_E_DVD_INVALIDDOMAINDVD ナビゲータ フィルタが有効なドメイン内にない。

注意

このメソッドでは、ディスクを再生するときにメニューで使用するデフォルトのテキスト言語を選択する。たとえば、Language がアメリカ英語に相当する 0x409 に指定されている場合、DVD ナビゲータは、メニューにアメリカ英語のテキストを表示しようと試みる。デフォルトのメニュー言語がディスク上で見つからない場合、DVD ナビゲータは要求に最も近い言語を選択する。

次の表は、このメソッド名が対応する Annex J コマンド名、およびこのメソッドが有効なドメインを示している。

Annex J コマンド名有効なドメイン
なし DVD_DOMAIN_Stop

IDvdControl2::SelectDefaultSubpictureLanguage

IDvdControl2 インターフェイス

サブピクチャ テキストのデフォルトの言語を設定する。

構文

HRESULT SelectDefaultSubpictureLanguage(
    LCID Language
    DVD_SUBPICTURE_LANG_EXT subpictureExtension
);

パラメータ

Language
[in] デフォルト言語を指定するロケール識別子。
subpictureExtension
[in] デフォルトのサブピクチャ拡張機能を指定する DVD_SUBPICTURE_LANG_EXT 値。

戻り値

次のいずれかの値を返す。

S_OK成功。
E_INVALIDARGLanguage が無効である。
VFW_E_DVD_INVALIDDOMAINDVD ナビゲータ フィルタが有効なドメイン内にない。

注意

このメソッドでは、ディスクの再生時にサブピクチャおよびメニューで使用するデフォルトの言語とフォーマットを選択する。たとえば、Language が英語に相当する 0x409 に指定されており、subpictureExtension が DVD_SP_EXT_Caption_Big に指定されている場合、DVD ナビゲータは、サブピクチャのテキストを "ビッグ キャプション" フォーマットのアメリカ英語で表示しようと試みる。デフォルトの言語または言語拡張機能がディスク上で見つからない場合、DVD ナビゲータは要求に最も近いものを選択する。

次の表は、このメソッド名が対応する Annex J コマンド名、およびこのメソッドが有効なドメインを示している。

Annex J コマンド名有効なドメイン
なし DVD_DOMAIN_Stop

IDvdControl2::SelectKaraokeAudioPresentationMode

IDvdControl2 インターフェイス

カラオケ補助チャンネルを左スピーカまたは右スピーカに送る。

構文

HRESULT SelectKaraokeAudioPresentationMode(
    ULONG ulMode
);

パラメータ

ulMode
[in] 5 つのカラオケ チャンネルをチャンネル 0 とチャンネル 1 にミックスダウンする方法を示す DVD_KARAOKE_DOWNMIX フラグのビットごとの OR。通常、チャンネル 0 とチャンネル 1 は左スピーカと右スピーカに出力される。

戻り値

次のいずれかの値を返す。

S_OK成功。
VFW_E_DVD_INVALIDDOMAINDVD ナビゲータ フィルタが無効なドメイン内にある。
VFW_E_DVD_OPERATION_INHIBITEDUOP コントロールが現在の操作を禁止している。

注意

DVD ナビゲータは、カラオケ モードに移行すると、オーディオ デコーダにカラオケ ダウンミキシングをサポートしているかどうかを問い合わせる。デコーダがカラオケ ダウンミキシングサポートしている場合は、チャンネル 2 からチャンネル 4 まで (ガイド ボーカル、ガイド メロディー、音響効果から構成されるカラオケ補助チャンネル) がミュートされる。このメソッドを使用して、チャンネルを個別にオン、オフし、チャンネル 0 とチャンネル 1 に割り当てる。

このメソッドの使用例については、DVDSample アプリケーションの「CKaraokeDlg::DoModal」を参照すること。

次の表は、このメソッド名が対応する Annex J コマンド名、およびこのメソッドが有効なドメインを示している。

Annex J コマンド名有効なドメイン
Karaoke_Audio_Presentation_Mode_Change DVD_DOMAIN_VideoManagerMenu
DVD_DOMAIN_VideoTitleSetMenu
DVD_DOMAIN_Title
DVD_DOMAIN_Stop

IDvdControl2::SelectParentalCountry

IDvdControl2 インターフェイス

ペアレンタル ロック アクセス レベルを解釈し、デフォルト言語を設定するときの基準となる国を設定する。

構文

HRESULT SelectParentalCountry(
    BYTE country[2]
);

パラメータ

country
[in] ISO 3166 に従って現在の国を指定する BYTE 型の値の配列。

戻り値

次のいずれかの値を返す。

S_OK成功。
E_INVALIDARG無効な引数。
VFW_E_DVD_INVALIDDOMAINDVD ナビゲータ フィルタが有効なドメイン内にない。

注意

ペアレンタル カントリは、8 つの基本ペアレンタル ロック レベルの意味およびサウンドトラックとメニューのデフォルト言語を規定する。詳細については、「ペアレンタル ロック レベルの適用」を参照すること。

次の表は、このメソッド名が対応する Annex J コマンド名、およびこのメソッドが有効なドメインを示している。

Annex J コマンド名有効なドメイン
Parental_Country_Select DVD_DOMAIN_Stop

参照

IDvdControl2::SelectParentalLevel

IDvdControl2::SelectParentalLevel

IDvdControl2 インターフェイス

ログオンしているユーザーのペアレンタル ロック アクセス レベルを設定する。

構文

HRESULT SelectParentalLevel(
    ULONG ulParentalLevel
);

パラメータ

ulParentalLevel
現在のユーザーのペアレンタル ロック アクセス レベルを指定する値。詳細については、「注意」を参照すること。

戻り値

次のいずれかの値を返す。

S_OK成功。
E_INVALIDARG無効な引数。
VFW_E_DVD_INVALIDDOMAIN無効なドメイン。

注意

DVD の仕様では、1 (最も制限の多いレベル) から 8 (最も制限の少ないレベル) までの 8 つの基本ペアレンタル ロック レベルが定義されている。これらのレベルの意味は地域によって異なり、現在の国に依存する (「SelectParentalCountry」を参照)。アメリカ合衆国とカナダ (DVD リージョン 1) では、以下のレベルが提唱されている。
ペアレンタル ロック レベル意味
1格付けは一般向けの G である。
3格付けは保護者の指導が望ましい PG である。
4格付けは保護者の指導が望ましく、13 歳未満の子供には推奨できない PG-13 である。
6格付けは制限付きの R である。
7格付けは 17 歳未満には不適切な NC-17 である。

このメソッドでは、現在のユーザーのアクセス レベルを設定する。このアクセス レベルによって、ユーザーが再生できるメディア ファイルが決まる。高いレベルは低いレベルのコンテンツを再生できるが、低いレベルは高いレベルのコンテンツを再生できない。たとえば、成人は子供向けのコンテンツを見ることができるが、子供は成人向けのコンテンツを見ることはできない。

DVD プレーヤー アプリケーションでは、現在のペアレンタル ロック レベルを上げる操作をパスワードによって保護するなど、ペアレンタル ロック レベルの設定を強制的に制限することができる。アプリケーションのユーザー インターフェイスには、レベルを設定し、チェックを完全に無効にする手段を持たせる必要がある。レベル 8 も許可しないようにディスクを作成することができるが、この場合はペアレンタル ロックが有効になっていると、有効なレベルがないため、だれもディスクを見ることができない。このようなディスクを見るには、ペアレンタル ロックを無効にする必要がある。DVD ナビゲータ フィルタのペアレンタル ロックは、デフォルトで無効になっている。

有効になっているペアレンタル ロックを無効にするには、ulParentalLevel として 0xffffffff を渡す。

このメソッドの使用例については、DVDSample アプリケーションの「CDvdCore::SetParentalLevel」を参照すること。

次の表は、このメソッド名が対応する Annex J コマンド名、およびこのメソッドが有効なドメインを示している。

Annex J コマンド名有効なドメイン
Parental_Level_Select DVD_DOMAIN_Stop

IDvdControl2::SelectRelativeButton

IDvdControl2 インターフェイス

指定された相対ボタン (上、下、右、左) を設定する。

構文

HRESULT SelectRelativeButton(
    DVD_RELATIVE_BUTTON buttonDir,
);

パラメータ

buttonDir
選択するボタンを示す DVD_RELATIVE_BUTTON 値。

戻り値

次のいずれかの値を返す。

S_OK成功。
VFW_E_DVD_INVALIDDOMAINDVD ナビゲータ フィルタが有効なドメイン内にない。
VFW_E_DVD_OPERATION_INHIBITEDUOP コントロールが処理を禁止している。

注意

次の表は、このメソッド名が対応する Annex J コマンド名、およびこのメソッドが有効なドメインを示している。

Annex J コマンド名有効なドメイン
(Left/Right/Upper/Lower)_Button_Select DVD_DOMAIN_VideoManagerMenu
DVD_DOMAIN_VideoTitleSetMenu
DVD_DOMAIN_Title

参照

DVD_RELATIVE_BUTTONDVD メニューの操作

IDvdControl2::SelectSubpictureStream

IDvdControl2 インターフェイス

表示するサブピクチャ ストリームを設定する。

構文

HRESULT SelectSubpictureStream(
    ULONG ulSubPicture,
    DWORD dwFlags,
    IDvdCmd **ppCmd
);

パラメータ

ulSubPicture
サブピクチャ ストリームを指定する値。0 から 31 の間または 63 でなければならない。
0-31ストリームが有効である。
63ストリームがダミー ストリーム、つまりミュートされた低ビットレート ストリームである。
dwFlags
[in] コマンド同期オプションを指定する 1 つ以上の DVD_CMD_FLAGS 値を含むビット フラグ。
ppCmd
[out] DVD コマンドの同期に使用できる IDvdCmd オブジェクトへのポインタのアドレス。

戻り値

次のいずれかの値を返す。

S_OK成功。
E_INVALIDARGulSubPicture が範囲外であるか、SP ストリームに対応していない。
E_UNEXPECTEDulSubPicture パラメータは有効であるが、何らかの理由で DVD ナビゲータがこのパラメータを設定できない。
VFW_E_DVD_OPERATION_INHIBITEDUOP コントロールが処理を禁止している。
VFW_E_DVD_INVALIDDOMAIN無効なドメイン。
VFW_E_DVD_STREAM_DISABLED指定されたストリームが無効になっている。

注意

次の表は、このメソッド名が対応する Annex J コマンド名、およびこのメソッドが有効なドメインを示している。

Annex J コマンド名有効なドメイン
Sub-picture_Stream_Change DVD_DOMAIN_VideoManagerMenu
DVD_DOMAIN_VideoTitleSetMenu
DVD_DOMAIN_Title
DVD_DOMAIN_Stop

参照

オーディオ ストリームとサブピクチャ ストリーム

IDvdControl2::SelectVideoModePreference

IDvdControl2 インターフェイス

指定された再生用のビデオ ディスプレイ モード (ワイド スクリーン、レターボックス、またはパン-スキャン) を設定する。

構文

HRESULT SelectVideoModePreference(
    ULONG ulPreferredDisplayMode
);

パラメータ

ulPreferredDisplayMode
[in] DVD コンテンツの新しいディスプレイ モードを指定する値。DVD_PREFERRED_DISPLAY_MODE 列挙型のメンバ。

戻り値

次のいずれかの値を返す。

S_OK成功。
E_INVALIDARG無効な引数。
VFW_E_DVD_INVALIDDOMAIN無効なドメイン。
VFW_E_DVD_OPERATION_INHIBITEDUOP コントロールが処理を禁止している。

注意

このメソッドでは、デフォルトのビデオ ウィンドウのアスペクト比を変更する。また、デフォルトのアスペクト比変換メカニズムを指定することもできる。

720×480 のソース ビデオをアスペクト比 16×9 に引き伸ばした変形 16×9 ソース ビデオは、以下のように表示される。

ワイドスクリーン  16×9 ビデオをクライアント出力ウィンドウの最大の 16×9 領域に置き、拡大する必要がある。ハイライト領域は 16×9 領域の内側に比例する。ブラック バーを上下または左右に追加して 16×9 領域を保持する必要がある。

パン スキャン  表示するビデオは、引き伸ばされた 16×9 ビデオから 4×3 サブウィンドウを取り出すことによって計算する。このとき、水平オフセットは MPEG-2 ビデオ ウィンドウのオフセットから得る。4×3 サブウィンドウを出力クライアント ウィンドウの最大の 4×3 領域に置く。ハイライト領域の座標は 4×3 出力ウィンドウに比例し、ソースの 16×9 ビデオには比例しない。ブラック バーを上下または左右に追加して 4×3 領域を保持する必要がある。

レターボックス  出力クライアント ウィンドウの最大の 4×3 領域を取り出すことによって 4×3 ディスプレイ領域を形成する。ブラック バーを上下または左右に追加して 4×3 領域を保持する必要がある。ソースの 16×9 ビデオを 4×3 サブウィンドウ内部の最大の 16×9 サブウィンドウ内に置く。ブラック バーをサブウィンドウの上下に追加して 16×9 領域を保持する必要がある。ハイライト領域の座標は、4×3 サブウィンドウに比例し、ソースの 16×9 ビデオには比例しない。ディスクで、16×9 領域の外ではあるが、4×3 ウィンドウの中にハイライト領域が表示されるように指定することが技術的に可能である。

4×3 ビデオの場合は、ビデオを出力クライアント ウィンドウの最大の 4×3 出力領域に表示する。ブラック バーを上下または左右に追加して 4×3 領域を保持する必要がある。

次の表は、このメソッド名が対応する Annex J コマンド名、およびこのメソッドが有効なドメインを示している。

Annex J コマンド名有効なドメイン
Video_PresentationMode_Change DVD_DOMAIN_VideoManagerMenu
DVD_DOMAIN_VideoTitleSetMenu
DVD_DOMAIN_Title
DVD_DOMAIN_Stop

IDvdControl2::SetDVDDirectory

IDvdControl2 インターフェイス

DVD ナビゲータ フィルタが読み込む DVD ドライブを設定する。

構文

HRESULT SetDVDDirectory(
    LPCWSTR  pszwPath
);

パラメータ

pszwPath
[in] ルート ディレクトリのパスを指定する LPCWSTR 型の変数。

戻り値

次のいずれかの値を返す。

S_OK成功。
E_INVALIDARGpszwPath パラメータが無効な DVD パスを指しているか、列挙中に DVD ドライブが見つからない。
E_UNEXPECTEDDVD ナビゲータが初期化されていない。
S_FALSEpszwPath パラメータが NULL であり、DVD ナビゲータが DVD ボリュームを見つけられない。
VFW_E_DVD_INVALIDDOMAIN無効なドメイン。詳細については「注意」を参照すること。

注意

pszwPath が NULL の場合、DVD ナビゲータは利用可能なすべてのドライブ上で DVD ボリュームを選択しようと試みる。起動時、DVD ナビゲータは、ルート フォルダに VIDEO_TS フォルダを持つドライブをドライブ C から順番に自動的に検索する。したがって、SetDVDDirectory を呼び出す必要があるのは、コンピュータに複数の DVD ドライブがある場合、または DVD ドライブ文字が A または B の場合に限られる。パスを指定するときは、vide_ts フォルダを含める。

SetDVDDirectory("e:\video_ts");

一部の DVD ボリュームでは、"video_ts" 以外のディレクトリにビデオが格納されていることがある。一般に、追加の "DVD ボリューム" (通常は VIDEO_TS ディレクトリに格納される .IFO. VOB、および .BUP ファイルのセット) をディスク上のサブディレクトリに格納することができる。このディレクトリを指すようにルートを変更することにより、MSWebDVD はこの DVD ボリューム上で動作するようになる。その場合は、アクセス不能になる VIDEO_TS ルート内のタイトルとは異なる、新しいメニュー、タイトルなどのセットが利用可能になる。このようなディレクトリは "隠しディレクトリ" と呼ばれる。以下の例は、隠しディレクトリをルートとして設定する方法を示している。"hidden" はディスクの作成者がディレクトリに付けた名前が入るプレースホルダである。

SetDVDDirectory("d:\\webdvd\\hidden");

フィルタ グラフが動作しており、DVD ナビゲータが pszwPath によって指定されたディレクトリ内で DVD を見つけると、DVD ナビゲータは自動的にディスクの再生を開始する。この動作は DVD の仕様に準拠しており、これによって新しいディスクが正しく初期化されることが保証される。SetDVDDirectory から動作が戻った後、新しいディスクを自動的に再生したくない場合は、SetOption の DVD_ResetOnStop フラグを TRUE に設定し、フィルタ グラフ マネージャで IMediaControl::Stop を呼び出すことによってフィルタ グラフを停止する必要がある。DVD_ResetOnStop が FALSE に設定されている場合、SetDVDDirectory は VFW_E_DVD_INVALIDDOMAIN を返す。

このメソッドの使用例については、DVDSample アプリケーションの「CDvdCore::SetDirectory」を参照すること。

次の表は、このメソッド名が対応する Annex J コマンド名、およびこのメソッドが有効なドメインを示している。

Annex J コマンド名有効なドメイン
なし DVD_DOMAIN_Stop

IDvdControl2::SetGPRM

IDvdControl2 インターフェイス

汎用パラメータ レジスタ値を設定する。

構文

HRESULT SetGPRM(
    ULONG ulIndex
    WORD wValue
    DWORD dwFlags,
    IDvdCmd **ppCmd
);

パラメータ

ulIndex
[in] レジスタ インデックス。0 から 15 の値。
wValue
[in] 指定されたレジスタに格納される 16 ビットの値。
dwFlags
[in] コマンド同期オプションを指定する 1 つ以上の DVD_CMD_FLAGS 値を含むビット フラグ。
ppCmd
[out] DVD コマンドの同期に使用できる IDvdCmd オブジェクトへのポインタのアドレス。

戻り値

次のいずれかの値を返す。

S_OK成功。
E_INVALIDARGulIndex パラメータが 15 を超えているか、ほかのいずれかの入力パラメータが無効である。

注意

DVD ディスクは汎用パラメータ レジスタを使ってさまざまな種類の情報を格納する。これらのレジスタを 1 つ以上手動で設定することにより、アプリケーションに特定のカスタム機能を持たせることができる。これは高度なコマンドであり、DVD の仕様を完全に理解していない場合は使用しない方がよい。

次の表は、このメソッド名が対応する Annex J コマンド名、およびこのメソッドが有効なドメインを示している。

Annex J コマンド名有効なドメイン
なし すべて

参照

IDvdInfo2::GetAllGPRMs

IDvdControl2::SetOption

IDvdControl2 インターフェイス

DVD ナビゲータ フィルタの内部動作フラグを有効または無効にする。

構文

HRESULT SetOption(
    DVD_OPTION_FLAG flag
    BOOL bEnable
);

パラメータ

flag
[in] 変更するフラグを指定する DVD_OPTION_FLAG 値。詳細については「注意」を参照すること。
bEnable
[in] flag を有効にするか無効にするかを指定する BOOL 型の変数。flag を有効にするには TRUE に設定し、無効にするには FALSE に設定する。

戻り値

次のいずれかの値を返す。

S_OK成功。
E_INVALIDARGflag 値が DVD_ResetOnStop または DVD_NotifyParentalLevelChange でない。

注意

DVD ナビゲータのインスタンスを作成した直後、およびいずれかの動作を変更したい場合は、必ず目的のフラグを指定して SetOption を呼び出す。
フラグ意味
DVD_ResetOnStopこのフラグを TRUE に設定すると、フィルタ グラフが停止したときに、ナビゲータは DVD Stop ドメインに入る。これはデフォルトの動作である。ナビゲータが Stop ドメインから再生を再開するときは、ディスクの先頭から再生が行われる。画面の解像度が変わったり、スクリーン セーバーが起動したり、コンピュータがサスペンド モードに入ったりすることにより、あるいはほかの理由によって、フィルタ グラフが突然停止することがあるため、この動作は望ましくないことがある。グラフが Stop 状態に移行したときにナビゲータが DVD Stop ドメインに入ることを防止するには、このフラグを FALSE に設定する。フラグを FALSE に設定すると、フィルタ グラフが動作を再開したとき、ナビゲータは前回停止した位置から再生を再開する。

通常、アプリケーションでは、IMediaControl::Run を呼び出して DVD-Video の再生を開始した直後あるいは再生を開始する前に、このフラグを FALSE に設定する必要がある。アプリケーションは、再生を停止するための明示的なユーザー コマンドに応えて IMediaControl::Stop を呼び出す前に、このフラグを TRUE に設定する必要がある。

DVD_NotifyParentalLevelChangeこのフラグでは、ディスク上でペアレンタル ロック レベルの変更が発生したときに、DVD ナビゲータがアプリケーションに通知する必要があるかどうかを指示する。このフラグを TRUE に設定すると、ナビゲータは、一時ペアレンタル ロック レベル コマンドが発生したときに、アプリケーションに EC_DVD_PARENTAL_LEVEL_CHANGE イベントを送信し、AcceptParentalLevelChange を通じてアプリケーションの応答を受信するまで、動作をブロックする。

このフラグが FALSE に設定されていると、ナビゲータが一時ペアレンタル ロック レベル コマンドを受け取り、現在のペアレンタル ロック レベルが低すぎる場合に、ナビゲータはコマンドを自動的に拒否し、そのコマンドが拒否されたときに移動するようにディスク上で指示されているパスに分岐する。次に、どのレベルが必要かをアプリケーションに通知する EC_DVD_PARENTAL_LEVEL_CHANGE イベントを送信する。次回の試行が成功するように、再生を停止し、パスワード ダイアログ ボックスを表示し、ムービーの再生を再開するかどうかは、アプリケーション側で判断する。

DVD_HMSF_TimeCodeEventsEC_DVD_CURRENT_TIME イベントと共に渡される旧来の BCD フォーマットではなく、DVD_HMSF_TIMECODE フォーマットで EC_DVD_CURRENT_HMSF_TIME タイム イベントを受信するときに、このフラグを TRUE に設定する。DVD_HMSF_TIMECODE フォーマットの方が扱いやすい。BCD フォーマットを使用するアプリケーションとの下位互換性を保つために、このフラグは、デフォルトでは FALSE に設定される。

次の表は、このメソッド名が対応する Annex J コマンド名、およびこのメソッドが有効なドメインを示している。

Annex J コマンド名有効なドメイン
なし すべて

参照

DVD コマンド フラグ

IDvdControl2::SetState

IDvdControl2 インターフェイス

現在のディスクの位置と DVD ナビゲータ フィルタの状態を保存する。

構文

HRESULT SetState(
    IDvdState*pState,
    DWORD    dwFlags,
    IDvdCmd  **ppCmd
);

パラメータ

pState
[in] ステート情報が格納されているオブジェクトの IDvdState インターフェイスへのポインタ。
dwFlags
[in] コマンド同期オプションを指定する 1 つ以上の DVD_CMD_FLAGS 値を含むビット フラグ。
ppCmd
[out] DVD コマンドの同期に使用できる IDvdCmd オブジェクトへのポインタのアドレス。

戻り値

成功すれば S_OK を返す。それ以外の場合は HRESULT 値を返す。

注意

DVD ナビゲータは、指定された状態オブジェクトに格納された位置情報を使って、再生位置をディスク上の特定の位置に戻す。

このメソッドの使用例については、DVDSample アプリケーションの「CDvdCore::RestoreBookmark」を参照すること。

IDvdControl2::SetSubpictureState

IDvdControl2 インターフェイス

サブピクチャの表示をオン、オフする。

構文

HRESULT SetSubpictureState(
    BOOL bState,
    DWORD dwFlags,
    IDvdCmd **ppCmd
);

パラメータ

bState
[in] サブピクチャの表示をオンにするかどうかを指定するブール型の値。TRUE を指定すると、それ以降の再生でサブピクチャが表示される。
dwFlags
[in] コマンド同期オプションを指定する 1 つ以上の DVD_CMD_FLAGS 値を含むビット フラグ。
ppCmd
[out] DVD コマンドの同期に使用できる IDvdCmd オブジェクトへのポインタのアドレス。

戻り値

次のいずれかの値を返す。

S_OK成功。
VFW_E_DVD_INVALIDDOMAINDVD ナビゲータが First Play ドメイン内にある。
VFW_E_DVD_OPERATION_INHIBITEDUOP コントロールが処理を禁止している。

注意

通常、サブピクチャ ストリームは、メニューではボタン テキストやボタンのグラフィックに、ビデオの再生では字幕、クレジット、その他のオーバーレイ グラフィックに使用される。サブピクチャをクローズド キャプションと混同してはならない。クローズド キャプションは、ビデオ ストリームの内部にエンコードされている。一般的に、このメソッドは、DVD ナビゲータ フィルタが DVD Title ドメイン内でビデオを再生している間にビデオに重ねて表示されるサブピクチャを制御することを目的としている。

このメソッドは、Annex J "Sub-picture_Stream_Change" コマンドの第 2 パラメータに相当する。

次の表は、このメソッド名が対応する Annex J コマンド名、およびこのメソッドが有効なドメインを示している。

Annex J コマンド名有効なドメイン
Sub-picture_stream_Change DVD_DOMAIN_VideoManagerMenu
DVD_DOMAIN_VideoTitleSetMenu
DVD_DOMAIN_Title
DVD_DOMAIN_Stop

参照

SelectSubpictureStream

IDvdControl2::ShowMenu

IDvdControl2 インターフェイス

指定されたメニューがあれば表示する。

構文

HRESULT ShowMenu(
    DVD_MENU_ID MenuID
    DWORD dwFlags,
    IDvdCmd **ppCmd
);

パラメータ

MenuID
[in] 表示するメニューを指定する DVD_MENU_ID 値。
dwFlags
コマンド同期オプションを指定する 1 つ以上の DVD_CMD_FLAGS 値を含むビット フラグ。
ppCmd
コマンドを DVD ナビゲータ フィルタと同期させるために使用できる IDvdCmd オブジェクトへのポインタのアドレス。

戻り値

次のいずれかの値を返す。

S_OK成功。
E_INVALIDARGMenuID 値が範囲外である。
VFW_E_DVD_INVALIDDOMAIN無効なドメイン。
VFW_E_DVD_OPERATION_INHIBITEDUOP コントロールが処理を禁止している。

注意

ビデオ マネージャ メニュー (VMGM) は、Title ドメインまたは Video Title Set ドメインからアクセスできなければならない。ビデオ タイトル セット メニュー (VTSM) は、VMGM を通じてしかアクセスできなくてもよい。各 VTSM (チャプター、アングル、オーディオ ストリーム、サブピクチャ ストリーム用) の下のサブメニューは、その VTSM を通じてしかアクセスできない。

このメソッドの使用例については、DVDSample アプリケーションの「CDvdCore::RootMenu」および「CDvdCore::TitleMenu」を参照すること。

次の表は、このメソッド名が対応する Annex J コマンド名、およびこのメソッドが有効なドメインを示している。

Annex J コマンド名有効なドメイン
Menu_Call すべて

参照

DVD メニューの操作

IDvdControl2::StillOff

IDvdControl2 インターフェイス

再生を再開し、静止モードをキャンセルする。

構文

HRESULT StillOff(void);

戻り値

次のいずれかの値を返す。

S_OK成功。
E_UNEXPECTEDDVD ナビゲータ フィルタがメニュー ドメイン内にあり、メニューにボタンがある。
VFW_E_DVD_INVALIDDOMAIN無効なドメイン。
VFW_E_DVD_OPERATION_INHIBITEDUOP コントロールが処理を禁止している。

注意

still はディスクに格納されている静止画像である。これは、ユーザーが Pause ボタンをクリックしたときに表示される静止画とは異なる。DVD ナビゲータは静止画像を検出すると、アプリケーションに EC_DVD_STILL_ON メッセージを送信し、静止画保持モードに移行して画像を表示し、StillOff が呼び出されるまで再生を再開しない。

DVD ナビゲータが静止画保持モードになっていない場合、このメソッドは何もしない。

メニューを静止画として表示することもできるが、メニュー ドメインでは DVD ナビゲータが再生再開位置の情報を取得できないため、メニュー ドメイン内でこのメソッドを呼び出してはならない。

次の表は、このメソッド名が対応する Annex J コマンド名、およびこのメソッドが有効なドメインを示している。

Annex J コマンド名有効なドメイン
Still_Off DVD_DOMAIN_VideoManagerMenu
DVD_DOMAIN_VideoTitleSetMenu
DVD_DOMAIN_Title

IDvdControl2::Stop

IDvdControl2 インターフェイス

DVD ナビゲータを DVD Stop ドメインに移行させることにより、タイトルまたはメニューの再生を停止する。

構文

HRESULT Stop(void);

戻り値

次のいずれかの値を返す。

S_OK成功。
VFW_E_DVD_INVALIDDOMAIN無効なドメイン。

注意

このメソッドを呼び出すと、DVD ナビゲータは Stop ドメインに移行するが、DVD フィルタ グラフ全体は、いつでも再生を再開できる実行状態にとどまる。ユーザーは Stop ドメインからメニューを表示したり、任意の "Play" メソッドを使って再生を直接開始したりすることができる。

次の表は、このメソッド名が対応する Annex J コマンド名、およびこのメソッドが有効なドメインを示している。

Annex J コマンド名有効なドメイン
Stop DVD_DOMAIN_FirstPlay
DVD_DOMAIN_VideoManagerMenu
DVD_DOMAIN_VideoTitleSetMenu
DVD_DOMAIN_Title