Microsoft DirectX 8.0

IDvdInfo インターフェイス

注 :  このインターフェイスの使用は避けること。既存のアプリケーションとの後方互換性を保つため、継続してサポートされるが、新しいアプリケーションでは IDvdInfo2 インターフェイスを使用すること。

アプリケーションは IDvdInfo インターフェイスを使用して、利用可能な DVD タイトルの属性および DVD プレーヤーの状態を問い合わせることができる。また、DVD の仕様の Annex J の範囲を超えて DVD プレーヤーを制御することもできる。

このインターフェイスを実装しないこと。このインターフェイスは Microsoft® DirectShow® が自動的に実装する。

アプリケーションでこのインターフェイスを使用し、DVD-Video または DVD プレーヤー フィルタ グラフの現在の状態に関する詳細情報を取得する。

vtable 順のメソッド

IUnknown メソッド説明
QueryInterface サポートされているインターフェイスへのポインタを取得する。
AddRef 参照カウントをインクリメントする。
Release 参照カウントをデクリメントする。
IDvdInfo メソッド説明
GetCurrentDomain DVD プレーヤーの現在の DVD ドメインを取得する。
GetCurrentLocation 現在の再生位置を取得する。
GetTotalTitleTime 現在のタイトルの総再生時間を取得する。
GetCurrentButton 利用可能なボタンの数と現在選択されているボタン番号を取得する。
GetCurrentAngle 利用可能なアングルの数と現在選択されているアングル番号を取得する。
GetCurrentAudio 利用可能なオーディオ ストリームの数と現在選択されているオーディオ ストリームの番号を取得する。
GetCurrentSubpicture 利用可能なサブピクチャ ストリームの数、現在選択されているサブピクチャ ストリーム番号、およびサブピクチャの表示が無効になっているかどうかを示す値を取得する。
GetCurrentUOPS 有効な IDvdControl メソッドを取得する。
GetAllSPRMs すべてのシステム パラメータ レジスタ (SPRM) の現在の内容を取得する。
GetAllGPRMs すべての汎用パラメータ レジスタ (GPRM) の現在の内容を取得する。
GetAudioLanguage 現在のタイトル内の指定されたオーディオ ストリームの言語を取得する。
GetSubpictureLanguage 現在のタイトル内の指定されたサブピクチャ ストリームの言語を取得する。
GetTitleAttributes メニューを含む指定されたタイトルのすべてのビデオ ストリーム、オーディオ ストリーム、およびサブピクチャ ストリームの属性を取得する。
GetVMGAttributes ビデオ マネージャ (VMG) メニューのすべてのビデオ ストリーム、オーディオ ストリーム、およびサブピクチャ ストリームの属性を取得する。
GetCurrentVideoAttributes 現在のタイトルまたはメニューの現在のビデオ属性を取得する。
GetCurrentAudioAttributes 現在のタイトルまたはメニューの現在のオーディオ ストリームの属性を取得する。
GetCurrentSubpictureAttributes 現在のタイトルまたはメニューの現在のサブピクチャ ストリームの属性を取得する。
GetCurrentVolumeInfo 現在の DVD ボリューム情報を取得する。
GetDVDTextInfo さまざまな言語のタイトル名、ボリューム名、プロデューサー名、ボーカリスト名などの説明テキストが格納される TXTDT_MG 構造体を取得する。
GetPlayerParentalLevel DVD プレーヤーの現在のペアレンタル ロック レベルと国コードの設定を取得する。
GetNumberOfChapters 特定のタイトルに対して定義されているチャプターの数を取得する。
GetTitleParentalLevels 特定のタイトルに対して定義されているペアレンタル ロック レベルを取得する。
GetRoot プレーヤーで設定されているルート ディレクトリを取得する。

IDvdInfo::GetAllGPRMs

IDvdInfo インターフェイス

すべての汎用パラメータ レジスタ (GPRM) の現在の内容を取得する。

構文

HRESULT GetAllGPRMs(
    GPRMARRAY *pRegisterArray
    );

パラメータ

pRegisterArray
[out] 取得された汎用パラメータ レジスタの配列へのポインタ。

戻り値

インターフェイスの実装に応じた HRESULT 値を返す。通常の戻り値は次のいずれかである。
E_FAIL失敗。
E_INVALIDARG入力引数が無効。
E_NOTIMPLメソッドがサポートされていない。
E_OUTOFMEMORYメモリ不足 (バッファ スペース不足)。
E_POINTERNULL ポインタ引数。
E_UNEXPECTEDDVD が初期化されていないか、またはドメインが DVD_DOMAIN_Title ではない。
VFW_E_DVD_OPERATION_INHIBITED現在の DVD ビデオのディスクを作成しているため、現時点では要求されたアクションをムービーで実行できない。
S_OK成功。
VFW_E_DVD_INVALIDDOMAIN要求されたアクションはこのドメインではサポートされていない (DVD_DOMAIN)。

注意

このメソッドは、いずれのドメインでも有効である。詳細については、「DVD_DOMAIN」を参照すること。

GPRM は各タイトルに固有の用途で使用される。GPRM は汎用パラメータ レジスタである。GPRM については、DVD の仕様を参照すること。

IDvdInfo::GetAllSPRMs

IDvdInfo インターフェイス

すべてのシステム パラメータ レジスタ (SPRM) の現在の内容を取得する。

構文

HRESULT GetAllSPRMs(
    SPRMARRAY *pRegisterArray
    );

パラメータ

pRegisterArray
[out] 取得されたシステム パラメータ レジスタの配列へのポインタ。

戻り値

インターフェイスの実装に応じた HRESULT 値を返す。通常の戻り値は次のいずれかである。
E_FAIL失敗。
E_INVALIDARG入力引数が無効。
E_NOTIMPLメソッドがサポートされていない。
E_OUTOFMEMORYメモリ不足 (バッファ スペース不足)。
E_POINTERNULL ポインタ引数。
E_UNEXPECTEDDVD が初期化されていないか、またはドメインが DVD_DOMAIN_Title ではない。
VFW_E_DVD_OPERATION_INHIBITED現在の DVD ビデオのディスクを作成しているため、現時点では要求されたアクションをムービーで実行できない。
S_OK成功。
VFW_E_DVD_INVALIDDOMAIN要求されたアクションはこのドメインではサポートされていない (DVD_DOMAIN)。

注意

このメソッドは、いずれのドメインでも有効である。詳細については、「DVD_DOMAIN」を参照すること。

個々のレジスタの使い方については、「DVD ビデオの仕様」を参照すること。

IDvdInfo::GetAudioLanguage

IDvdInfo インターフェイス

現在のタイトル内の指定されたオーディオ ストリームの言語を取得する。

構文

HRESULT GetAudioLanguage(
    ULONG nStream,
    LCID *pLanguage
    );

パラメータ

nStream
[in] ストリーム番号。
pLanguage
[out] 取得された言語へのポインタ。

戻り値

インターフェイスの実装に応じた HRESULT 値を返す。通常の戻り値は次のいずれかである。
E_FAIL失敗。
E_INVALIDARG入力引数が無効。
E_NOTIMPLメソッドがサポートされていない。
E_OUTOFMEMORYメモリ不足 (バッファ スペース不足)。
E_POINTERNULL ポインタ引数。
E_UNEXPECTEDDVD が初期化されていないか、またはドメインが DVD_DOMAIN_Title ではない。
VFW_E_DVD_OPERATION_INHIBITED現在の DVD ビデオのディスクを作成しているため、現時点では要求されたアクションをムービーで実行できない。
S_OK成功。
VFW_E_DVD_INVALIDDOMAIN要求されたアクションはこのドメインではサポートされていない (DVD_DOMAIN)。

注意

このメソッドは、ドメインが DVD_DOMAIN_Title でない限りエラーを返す。詳細については、「DVD_DOMAIN」を参照すること。

このメソッドはメニューの言語は返さない。ストリームに言語が含まれていない場合、このメソッドは、pLanguage が指す値をゼロに設定する。pLanguage から読み取り可能な文字列名を作成するには、次のように Win32 GetLocaleInfo 関数を呼び出す。LOCALE_SENGLANGUAGE はロケール情報型であり、pszString は要求されたデータを受け取るバッファへのポインタであり、cbSize は pszString のサイズを指定する。

GetLocaleInfo(*pLanguage, LOCALE_SENGLANGUAGE, pszString, cbSize);

IDvdInfo::GetCurrentAngle

IDvdInfo インターフェイス

利用可能なアングルの数と現在選択されているアングル番号を取得する。

構文

HRESULT GetCurrentAngle(
    ULONG *pnAnglesAvailable,
    ULONG *pnCurrentAngle
    );

パラメータ

pnAnglesAvailable
[out] 取得された利用可能なアングルの数へのポインタ。指している値が 1 である場合、現在のビデオには複数のアングルが含まれていない。
pnCurrentAngle
[out] 取得された現在のアングル番号へのポインタ。

戻り値

インターフェイスの実装に応じた HRESULT 値を返す。通常の戻り値は次のいずれかである。
E_FAIL失敗。
E_INVALIDARG入力引数が無効。
E_NOTIMPLメソッドがサポートされていない。
E_OUTOFMEMORYメモリ不足 (バッファ スペース不足)。
E_POINTERNULL ポインタ引数。
E_UNEXPECTEDDVD が初期化されていないか、またはドメインが DVD_DOMAIN_Title ではない。
VFW_E_DVD_OPERATION_INHIBITED現在の DVD ビデオのディスクを作成しているため、現時点では要求されたアクションをムービーで実行できない。
S_OK成功。
VFW_E_DVD_INVALIDDOMAIN要求されたアクションはこのドメインではサポートされていない (DVD_DOMAIN)。

注意

アングルとは、重ねて記録されているビデオ ストリームで、その中には、異なるカメラ アングルから撮影された同じ場面が収録されている。

このメソッドは、ドメインが DVD_DOMAIN_Title でない限りエラーを返す。詳細については、「DVD_DOMAIN」を参照すること。

IDvdInfo::GetCurrentAudio

IDvdInfo インターフェイス

利用可能なオーディオ ストリームの数と現在選択されているオーディオ ストリームの番号を取得する。

構文

HRESULT GetCurrentAudio(
    ULONG *pnStreamsAvailable,
    ULONG *pnCurrentStream
    );

パラメータ

pnStreamsAvailable
[out] 取得された利用可能なオーディオ ストリームの数へのポインタ。
pnCurrentStream
[out] 現在のストリーム番号へのポインタ。

戻り値

インターフェイスの実装に応じた HRESULT 値を返す。通常の戻り値は次のいずれかである。
E_FAIL失敗。
E_INVALIDARG入力引数が無効。
E_NOTIMPLメソッドがサポートされていない。
E_OUTOFMEMORYメモリ不足 (バッファ スペース不足)。
E_POINTERNULL ポインタ引数。
E_UNEXPECTEDDVD が初期化されていないか、またはドメインが DVD_DOMAIN_Title ではない。
VFW_E_DVD_OPERATION_INHIBITED現在の DVD ビデオのディスクを作成しているため、現時点では要求されたアクションをムービーで実行できない。
S_OK成功。
VFW_E_DVD_INVALIDDOMAIN要求されたアクションはこのドメインではサポートされていない (DVD_DOMAIN)。

注意

このメソッドは、ドメインが DVD_DOMAIN_Title でない限りエラーを返す。詳細については、「DVD_DOMAIN」を参照すること。

IDvdInfo::GetCurrentAudioAttributes

IDvdInfo インターフェイス

現在のタイトルまたはメニューの現在のオーディオ ストリームの属性を取得する。

構文

HRESULT GetCurrentAudioAttributes(
    DVD_AudioATR *pATR
    );

パラメータ

pATR
[out] 取得されたオーディオ属性へのポインタ。

戻り値

インターフェイスの実装に応じた HRESULT 値を返す。通常の戻り値は次のいずれかである。
E_FAIL失敗。
E_INVALIDARG入力引数が無効。
E_NOTIMPLメソッドがサポートされていない。
E_OUTOFMEMORYメモリ不足 (バッファ スペース不足)。
E_POINTERNULL ポインタ引数。
E_UNEXPECTEDDVD が初期化されていないか、またはドメインが DVD_DOMAIN_Title ではない。
VFW_E_DVD_OPERATION_INHIBITED現在の DVD ビデオのディスクを作成しているため、現時点では要求されたアクションをムービーで実行できない。
S_OK成功。
VFW_E_DVD_INVALIDDOMAIN要求されたアクションはこのドメインではサポートされていない (DVD_DOMAIN)。

注意

このメソッドは、ドメインが DVD_DOMAIN_VideoManagerMenu、DVD_DOMAIN_VideoTitleSetMenu、または DVD_DOMAIN_Title でない限りエラーを返す。詳細については、「DVD_DOMAIN」を参照すること。

DVD_AudioATR データ型については、「DVD-Video 仕様」を参照すること。

IDvdInfo::GetCurrentButton

IDvdInfo インターフェイス

利用可能なボタンの数と現在選択されているボタン番号を取得する。

構文

HRESULT GetCurrentButton(
    ULONG *pnButtonsAvailable,
    ULONG *pnCurrentButton
    );

パラメータ

pnButtonsAvailable
[out] 利用可能なボタンの数へのポインタ。
pnCurrentButton
[out] 現在のボタン番号へのポインタ。

戻り値

インターフェイスの実装に応じた HRESULT 値を返す。通常の戻り値は次のいずれかである。
E_FAIL失敗。
E_INVALIDARG入力引数が無効。
E_NOTIMPLメソッドがサポートされていない。
E_OUTOFMEMORYメモリ不足 (バッファ スペース不足)。
E_POINTERNULL ポインタ引数。
E_UNEXPECTEDDVD が初期化されていないか、またはドメインが DVD_DOMAIN_Title ではない。
VFW_E_DVD_OPERATION_INHIBITED現在の DVD ビデオのディスクを作成しているため、現時点では要求されたアクションをムービーで実行できない。
S_OK成功。
VFW_E_DVD_INVALIDDOMAIN要求されたアクションはこのドメインではサポートされていない (DVD_DOMAIN)。

注意

ボタンがない場合、このメソッドは pnButtonsAvailablepnCurrentButton の両方をゼロにして返す。

このメソッドは、いずれのドメインでも有効である。詳細については、「DVD_DOMAIN」を参照すること。

IDvdInfo::GetCurrentDomain

IDvdInfo インターフェイス

DVD プレーヤーの現在の DVD ドメインを取得する。

構文

HRESULT GetCurrentDomain(
    DVD_DOMAIN *pDomain
    );

パラメータ

pDomain
[out] DVD_DOMAIN 列挙型のメンバである現在のドメインへのポインタ。

戻り値

インターフェイスの実装に応じた HRESULT 値を返す。通常の戻り値は次のいずれかである。
E_FAIL失敗。
E_INVALIDARG入力引数が無効。
E_NOTIMPLメソッドがサポートされていない。
E_OUTOFMEMORYメモリ不足 (バッファ スペース不足)。
E_POINTERNULL ポインタ引数。
E_UNEXPECTEDDVD が初期化されていないか、またはドメインが DVD_DOMAIN_Title ではない。
VFW_E_DVD_OPERATION_INHIBITED現在の DVD ビデオのディスクを作成しているため、現時点では要求されたアクションをムービーで実行できない。
S_OK成功。
VFW_E_DVD_INVALIDDOMAIN要求されたアクションはこのドメインではサポートされていない (DVD_DOMAIN)。

注意

このメソッドは、いずれのドメインでも有効である。詳細については、「DVD_DOMAIN」を参照すること。

IDvdInfo::GetCurrentLocation

IDvdInfo インターフェイス

現在の再生位置を取得する。

構文

HRESULT GetCurrentLocation(
    DVD_PLAYBACK_LOCATION *pLocation
    );

パラメータ

pLocation
[out] DVD_PLAYBACK_LOCATION 構造体内の取得された再生位置情報へのポインタ。

戻り値

インターフェイスの実装に応じた HRESULT 値を返す。通常の戻り値は次のいずれかである。
E_FAIL失敗。
E_INVALIDARG入力引数が無効。
E_NOTIMPLメソッドがサポートされていない。
E_OUTOFMEMORYメモリ不足 (バッファ スペース不足)。
E_POINTERNULL ポインタ引数。
E_UNEXPECTEDDVD が初期化されていないか、またはドメインが DVD_DOMAIN_Title ではない。
VFW_E_DVD_OPERATION_INHIBITED現在の DVD ビデオのディスクを作成しているため、現時点では要求されたアクションをムービーで実行できない。
S_OK成功。
VFW_E_DVD_INVALIDDOMAIN要求されたアクションはこのドメインではサポートされていない (DVD_DOMAIN)。

このメソッドのデフォルトの実装は、現在のドメインが DVD_DOMAIN_Title でない場合、E_UNEXPECTED を返す。

注意

このメソッドは、現在の位置のシークを明示的に禁止していないタイトルの現在の再生位置からビデオの再生を再開するのに十分な情報を取得する。

このメソッドは、ドメインが DVD_DOMAIN_Title でない限りエラーを返す。詳細については、「DVD_DOMAIN」を参照すること。

IDvdInfo::GetCurrentSubpicture

IDvdInfo インターフェイス

利用可能なサブピクチャ ストリームの数、現在選択されているサブピクチャ ストリーム番号、およびサブピクチャの表示が無効になっているかどうかを示す値を取得する。

構文

HRESULT GetCurrentSubpicture(
    ULONG *pnStreamsAvailable,
    ULONG *pnCurrentStream,
    BOOL *pIsDisabled
    );

パラメータ

pnStreamsAvailable
[out] 取得された利用可能なサブピクチャ ストリームの数へのポインタ。
pnCurrentStream
[out] 取得された現在選択されているサブピクチャ ストリーム番号へのポインタ。
pIsDisabled
[out] サブピクチャの表示が無効になっているかどうかを示す値へのポインタ。

戻り値

インターフェイスの実装に応じた HRESULT 値を返す。通常の戻り値は次のいずれかである。
E_FAIL失敗。
E_INVALIDARG入力引数が無効。
E_NOTIMPLメソッドがサポートされていない。
E_OUTOFMEMORYメモリ不足 (バッファ スペース不足)。
E_POINTERNULL ポインタ引数。
E_UNEXPECTEDDVD が初期化されていないか、またはドメインが DVD_DOMAIN_Title ではない。
VFW_E_DVD_OPERATION_INHIBITED現在の DVD ビデオのディスクを作成しているため、現時点では要求されたアクションをムービーで実行できない。
S_OK成功。
VFW_E_DVD_INVALIDDOMAIN要求されたアクションはこのドメインではサポートされていない (DVD_DOMAIN)。

注意

強制的にアクティブにするストリームとして作成されたサブピクチャ ストリームは、アプリケーションが IDvdControl::SubpictureStreamChange メソッドでサブピクチャの表示を無効にしていても表示される。

このメソッドは、ドメインが DVD_DOMAIN_Title でない限りエラーを返す。詳細については、「DVD_DOMAIN」を参照すること。

IDvdInfo::GetCurrentSubpictureAttributes

IDvdInfo インターフェイス

現在のタイトルまたはメニューの現在のサブピクチャ ストリームの属性を取得する。

構文

HRESULT GetCurrentSubpictureAttributes(
    DVD_SubpictureATR *pATR
    );

パラメータ

pATR
[out] 取得されたサブピクチャ属性へのポインタ。

戻り値

インターフェイスの実装に応じた HRESULT 値を返す。通常の戻り値は次のいずれかである。
E_FAIL失敗。
E_INVALIDARG入力引数が無効。
E_FAIL 指定されたサブピクチャが属性を持っていない。
E_NOTIMPLメソッドがサポートされていない。
E_OUTOFMEMORYメモリ不足 (バッファ スペース不足)。
E_POINTERNULL ポインタ引数。
E_UNEXPECTEDDVD が初期化されていないか、またはドメインが DVD_DOMAIN_Title ではない。
VFW_E_DVD_OPERATION_INHIBITED現在の DVD ビデオのディスクを作成しているため、現時点では要求されたアクションをムービーで実行できない。
S_OK成功。

注意

このメソッドは、ドメインが DVD_DOMAIN_VideoManagerMenu、DVD_DOMAIN_VideoTitleSetMenu、または DVD_DOMAIN_Title でない限りエラーを返す。詳細については、「DVD_DOMAIN」を参照すること。

DVD_SubpictureATR については、「DVD ビデオの仕様」を参照すること。

IDvdInfo::GetCurrentUOPS

IDvdInfo インターフェイス

現在有効になっている IDvdControl メソッドを取得する。

構文

HRESULT GetCurrentUOPS(
    VALID_UOP_SOMTHING_OR_OTHER *pUOP
    );

パラメータ

pUOP
[out] すべてのユーザー操作 (UOP) のビットが格納されている DWORD 値へのポインタ。DWORD 内の各ビットは、個々のユーザー操作の状態 (有効または無効) を表す。あるユーザー操作に対応するビットがセットされていれば、そのユーザー操作は禁止されている。詳細については、「注意」を参照すること。

戻り値

インターフェイスの実装に応じた HRESULT 値を返す。通常の戻り値は次のいずれかである。
E_FAIL失敗。
E_INVALIDARG入力引数が無効。
E_NOTIMPLメソッドがサポートされていない。
E_OUTOFMEMORYメモリ不足 (バッファ スペース不足)。
E_POINTERNULL ポインタ引数。
E_UNEXPECTEDDVD が初期化されていないか、またはドメインが DVD_DOMAIN_Title ではない。
VFW_E_DVD_OPERATION_INHIBITED現在の DVD ビデオのディスクを作成しているため、現時点では要求されたアクションをムービーで実行できない。
S_OK成功。
VFW_E_DVD_INVALIDDOMAIN要求されたアクションはこのドメインではサポートされていない (DVD_DOMAIN)。

注意

このメソッドは、いずれのドメインでも有効である。詳細については、「DVD_DOMAIN」を参照すること。

pUOP の値は、次のように定義されたビット フィールドである。

ビット フラグ ユーザー関数
0 UOP_FLAG_Title_Or_Time_Play TitlePlayTimePlay
1 UOP_FLAG_Chapter_Search_Or_Play ChapterSearchChapterPlay
2 UOP_FLAG_Title_Play TitlePlay
3 UOP_FLAG_Stop StopForResume
4 UOP_FLAG_GoUp GoUp
5 UOP_FLAG_Time_Or_Chapter_Search TimeSearchChapterSearch
6 UOP_FLAG_Prev_Or_Top_PG_Search PrevPGSearchTopPGSearch
7 UOP_FLAG_Next_PG_Search NextPGSearch
8 UOP_FLAG_Forward_Scan ForwardScan
9 UOP_FLAG_Backward_Scan BackwardScan
10 UOP_FLAG_Title_Menu_Call パラメータ値 2 (DVD_MENU_Title) の MenuCall
11 UOP_FLAG_Root_Menu_Call パラメータ値 3 (DVD_MENU_Root) の MenuCall
12 UOP_FLAG_SubPic_Menu_Call パラメータ値 4 (DVD_MENU_Subpicture) の MenuCall
13 UOP_FLAG_Audio_Menu_Call パラメータ値 5 (DVD_MENU_Audio) の MenuCall
14 UOP_FLAG_Angle_Menu_Call パラメータ値 6 (DVD_MENU_Angle) の MenuCall
15 UOP_FLAG_Chapter_Menu_Call パラメータ値 7 (DVD_MENU_Chapter) の MenuCall
16 UOP_FLAG_Resume Resume
17 UOP_FLAG_Button_Select_Or_Activate UpperButtonSelectLowerButtonSelectLeftButtonSelectRightButtonSelectButtonActivateButtonSelectAndActivate
18 UOP_FLAG_Still_Off StillOff
19 UOP_FLAG_Pause_On PauseOnMenuLanguageSelect
20 UOP_FLAG_Audio_Stream_Change AudioStreamChange
21 UOP_FLAG_SubPic_Stream_Change SubpictureStreamChange
22 UOP_FLAG_Angle_Change AngleChangeParentalLevelSelect
23 UOP_FLAG_Karaoke_Audio_Pres_Mode_Change KaraokeAudioPresentationModeChange
24 UOP_FLAG_Video_Pres_Mode_Change VideoModePreferrence

DVD タイトルでは、再生中にほとんど任意の位置で個々のユーザー操作を許可または禁止できるため、このメソッドは有用である。

IDvdInfo::GetCurrentVideoAttributes

IDvdInfo インターフェイス

現在のタイトルまたはメニューの現在のビデオ属性を取得する。

構文

HRESULT GetCurrentVideoAttributes(
    DVD_VideoATR *pATR
    );

パラメータ

pATR
[out] 取得されたビデオ属性へのポインタ。

戻り値

インターフェイスの実装に応じた HRESULT 値を返す。通常の戻り値は次のいずれかである。
E_FAIL失敗。
E_INVALIDARG入力引数が無効。
E_NOTIMPLメソッドがサポートされていない。
E_OUTOFMEMORYメモリ不足 (バッファ スペース不足)。
E_POINTERNULL ポインタ引数。
E_UNEXPECTEDDVD が初期化されていないか、またはドメインが DVD_DOMAIN_Title ではない。
VFW_E_DVD_OPERATION_INHIBITED現在の DVD ビデオのディスクを作成しているため、現時点では要求されたアクションをムービーで実行できない。
S_OK成功。
VFW_E_DVD_INVALIDDOMAIN要求されたアクションはこのドメインではサポートされていない (DVD_DOMAIN)。

注意

このメソッドは、ドメインが DVD_DOMAIN_VideoManagerMenu、DVD_DOMAIN_VideoTitleSetMenu、または DVD_DOMAIN_Title でない限りエラーを返す。詳細については、「DVD_DOMAIN」を参照すること。

DVD_VideoATR については、「DVD ビデオの仕様」を参照すること。

IDvdInfo::GetCurrentVolumeInfo

IDvdInfo インターフェイス

現在の DVD ボリューム情報を取得する。

構文

HRESULT GetCurrentVolumeInfo(
    ULONG *pNumOfVol,
    ULONG *pThisVolNum,
    DVD_DISC_SIDE *pSide,
    ULONG *pNumOfTitles
    );

パラメータ

pNumOfVol
[out] 取得されたボリューム セット内のボリュームの数へのポインタ。
pThisVolNum
[out] 取得されたこのルート ディレクトリのボリューム番号へのポインタ。
pSide
[out] 取得された現在のディスク面 (DVD_DISC_SIDE) へのポインタ。
pNumOfTitles
[out] 取得されたこのボリュームで利用可能なタイトルの数へのポインタ。

戻り値

インターフェイスの実装に応じた HRESULT 値を返す。通常の戻り値は次のいずれかである。
E_FAIL失敗。
E_INVALIDARG入力引数が無効。
E_NOTIMPLメソッドがサポートされていない。
E_OUTOFMEMORYメモリ不足 (バッファ スペース不足)。
E_POINTERNULL ポインタ引数。
E_UNEXPECTEDDVD が初期化されていないか、またはドメインが DVD_DOMAIN_Title ではない。
VFW_E_DVD_OPERATION_INHIBITED現在の DVD ビデオのディスクを作成しているため、現時点では要求されたアクションをムービーで実行できない。
S_OK成功。
VFW_E_DVD_INVALIDDOMAIN要求されたアクションはこのドメインではサポートされていない (DVD_DOMAIN)。

注意

このメソッドは、いずれのドメインでも有効である。詳細については、「DVD_DOMAIN」を参照すること。

IDvdInfo::GetDVDTextInfo

IDvdInfo インターフェイス

さまざまな言語のタイトル名、ボリューム名、プロデューサー名、ボーカリスト名などの説明テキストが格納される TXTDT_MG 構造体を取得する。

構文

HRESULT GetDVDTextInfo(
    BYTE *pTextManager,
    ULONG cbBufSize,
    ULONG *pcbActualSize
    );

パラメータ

pTextManager
[out, size_is(cbBufSize)] 取得されたテキスト マネージャへのポインタ。
cbBufSize
[in] pTextManager のバッファ サイズ (バイト単位)。
pcbActualSize
[out] 返されたデータのバイト数が格納されている値へのポインタ。

戻り値

インターフェイスの実装に応じた HRESULT 値を返す。通常の戻り値は次のいずれかである。
E_FAIL失敗。
E_INVALIDARG入力引数が無効。
E_NOTIMPLメソッドがサポートされていない。
E_OUTOFMEMORYメモリ不足 (バッファ スペース不足)。
E_POINTERNULL ポインタ引数。
E_UNEXPECTEDDVD が初期化されていないか、またはドメインが DVD_DOMAIN_Title ではない。
VFW_E_DVD_OPERATION_INHIBITED現在の DVD ビデオのディスクを作成しているため、現時点では要求されたアクションをムービーで実行できない。
S_OK成功。
VFW_E_DVD_INVALIDDOMAIN要求されたアクションはこのドメインではサポートされていない (DVD_DOMAIN)。

注意

このメソッドは、いずれのドメインでも有効である。詳細については、「DVD_DOMAIN」を参照すること。

cbBufSize で渡されたバッファ サイズがデータに比べて小さすぎる場合 (たとえば、cbBufSize がゼロの場合)、このメソッドは E_OUTOFMEMORY を返し、pcbActualSize の指す値を必要なサイズに設定する。

詳細については、「DVD ビデオの仕様」の Section 4.1.6 および Annex A を参照すること。

IDvdInfo::GetNumberOfChapters

IDvdInfo インターフェイス

特定のタイトルに対して定義されているチャプターの数を取得する。

構文

HRESULT GetNumberOfChapters(
    ULONG ulTitle,
    ULONG *pNumberOfChapters
    );

パラメータ

ulTitle
[in] チャプター数を取得するタイトル。
pNumberOfChapters
[out] 指定されたタイトルの取得されたチャプター数へのポインタ。

戻り値

インターフェイスの実装に応じた HRESULT 値を返す。通常の戻り値は次のいずれかである。
E_FAIL失敗。
E_INVALIDARG入力引数が無効。
E_NOTIMPLメソッドがサポートされていない。
E_OUTOFMEMORYメモリ不足 (バッファ スペース不足)。
E_POINTERNULL ポインタ引数。
E_UNEXPECTEDDVD が初期化されていないか、またはドメインが DVD_DOMAIN_Title ではない。
VFW_E_DVD_OPERATION_INHIBITED現在の DVD ビデオのディスクを作成しているため、現時点では要求されたアクションをムービーで実行できない。
S_OK成功。
VFW_E_DVD_INVALIDDOMAIN要求されたアクションはこのドメインではサポートされていない (DVD_DOMAIN)。

注意

このメソッドは、いずれのドメインでも有効である。詳細については、「DVD_DOMAIN」を参照すること。

IDvdInfo::GetPlayerParentalLevel

IDvdInfo インターフェイス

DVD プレーヤーの現在のペアレンタル ロック レベルと国コードの設定を取得する。

構文

HRESULT GetPlayerParentalLevel(
    ULONG *pParentalLevel,
    ULONG *pCountryCode
    );

パラメータ

pParentalLevel
[out] 現在のペアレンタル ロック レベルを示す値へのポインタ。
pCountryCode
[out] 現在の国コードを示す値へのポインタ。

戻り値

インターフェイスの実装に応じた HRESULT 値を返す。通常の戻り値は次のいずれかである。
E_FAIL失敗。
E_INVALIDARG入力引数が無効。
E_NOTIMPLメソッドがサポートされていない。
E_OUTOFMEMORYメモリ不足 (バッファ スペース不足)。
E_POINTERNULL ポインタ引数。
E_UNEXPECTEDDVD が初期化されていないか、またはドメインが DVD_DOMAIN_Title ではない。
VFW_E_DVD_OPERATION_INHIBITED現在の DVD ビデオのディスクを作成しているため、現時点では要求されたアクションをムービーで実行できない。
S_OK成功。
VFW_E_DVD_INVALIDDOMAIN要求されたアクションはこのドメインではサポートされていない (DVD_DOMAIN)。

注意

このメソッドは、いずれのドメインでも有効である。詳細については、「DVD_DOMAIN」を参照すること。

定義されているペアレンタル ロック レベルについては、「DVD ビデオの仕様」の表 3.3.4-1 を参照すること。

有効なペアレンタル ロック レベルは、ペアレンタル ロックが有効になっている場合は 1 から 8 の間であり、ペアレンタル ロックが無効になっている場合は 0xffffffff である。

国コードについては、ISO3166 : Alpha-2 コードを参照すること。

IDvdInfo::GetRoot

IDvdInfo インターフェイス

プレーヤーで設定されているルート ディレクトリを取得する。

構文

HRESULT GetRoot(
    LPSTR pRoot,
    ULONG cbBufSize,
    ULONG *pcbActualSize
    );

パラメータ

pRoot
[out, size_is(cbBufSize)] ルート文字列を受け取るバッファへのポインタ。Unicode スタイルの文字列を渡すという COM 規則に反して、ルート文字列では ANSI 文字を使用する点に注意すること。
cbBufSize
[in] 渡されたバッファのサイズ (バイト単位)。
pcbActualSize
[out] 返された実際のデータのサイズが格納されている値へのポインタ。

戻り値

インターフェイスの実装に応じた HRESULT 値を返す。通常の戻り値は次のいずれかである。
E_FAIL失敗。
E_INVALIDARG入力引数が無効。
E_NOTIMPLメソッドがサポートされていない。
E_OUTOFMEMORYメモリ不足 (バッファ スペース不足)。
E_POINTERNULL ポインタ引数。
E_UNEXPECTEDDVD が初期化されていないか、またはドメインが DVD_DOMAIN_Title ではない。
VFW_E_DVD_OPERATION_INHIBITED現在の DVD ビデオのディスクを作成しているため、現時点では要求されたアクションをムービーで実行できない。
S_OK成功。
VFW_E_DVD_INVALIDDOMAIN要求されたアクションはこのドメインではサポートされていない (DVD_DOMAIN)。

注意

有効なルートが見つかると、このメソッドはルート文字列を返す。それ以外の場合は、pcbActualSize をゼロにして返し、有効なルート ディレクトリが見つからない、または初期化されていないことを示す。

IDvdInfo::GetSubpictureLanguage

IDvdInfo インターフェイス

現在のタイトル内の指定されたサブピクチャ ストリームの言語を取得する。

構文

HRESULT GetSubpictureLanguage(
    ULONG nStream,
    LCID *pLanguage );

パラメータ

nStream
[in] ストリーム番号。
pLanguage
[out] 取得された言語へのポインタ。

戻り値

インターフェイスの実装に応じた HRESULT 値を返す。通常の戻り値は次のいずれかである。
E_FAIL失敗。
E_INVALIDARG入力引数が無効。
E_NOTIMPLメソッドがサポートされていない。
E_OUTOFMEMORYメモリ不足 (バッファ スペース不足)。
E_POINTERNULL ポインタ引数。
E_UNEXPECTEDDVD が初期化されていないか、またはドメインが DVD_DOMAIN_Title ではない。
VFW_E_DVD_OPERATION_INHIBITED現在の DVD ビデオのディスクを作成しているため、現時点では要求されたアクションをムービーで実行できない。
S_OK成功。
VFW_E_DVD_INVALIDDOMAIN要求されたアクションはこのドメインではサポートされていない (DVD_DOMAIN)。

注意

このメソッドは、ドメインが DVD_DOMAIN_Title でない限りエラーを返す。詳細については、「DVD_DOMAIN」を参照すること。

このメソッドはメニューの言語は返さない。ストリームに言語が含まれていない場合、このメソッドは、pLanguage が指す値をゼロに設定する。pLanguage から読み取り可能な文字列名を作成するには、次のように Win32 GetLocaleInfo 関数を呼び出す。LOCALE_SENGLANGUAGE はロケール情報型であり、pszString は要求されたデータを受け取るバッファへのポインタであり、cbSize は pszString のサイズを指定する。

GetLocaleInfo(*pLanguage, LOCALE_SENGLANGUAGE, pszString, cbSize);

IDvdInfo::GetTitleAttributes

IDvdInfo インターフェイス

メニューを含む指定されたタイトルのすべてのビデオ ストリーム、オーディオ ストリーム、およびサブピクチャ ストリームの属性を取得する。

構文

HRESULT GetTitleAttributes(
    ULONG nTitle,
    DVD_ATR *pATR );

パラメータ

nTitle
[in] 要求されているタイトル番号。現在のタイトルの場合は 0xFFFFFFFF を指定する。
pATR
[out] 取得された属性構造体 (DVD_ATR) へのポインタ。

戻り値

インターフェイスの実装に応じた HRESULT 値を返す。通常の戻り値は次のいずれかである。
E_FAIL失敗。
E_INVALIDARG入力引数が無効。
E_NOTIMPLメソッドがサポートされていない。
E_OUTOFMEMORYメモリ不足 (バッファ スペース不足)。
E_POINTERNULL ポインタ引数。
E_UNEXPECTEDDVD が初期化されていないか、またはドメインが DVD_DOMAIN_Title ではない。
VFW_E_DVD_OPERATION_INHIBITED現在の DVD ビデオのディスクを作成しているため、現時点では要求されたアクションをムービーで実行できない。
S_OK成功。
VFW_E_DVD_INVALIDDOMAIN要求されたアクションはこのドメインではサポートされていない (DVD_DOMAIN)。

注意

このメソッドは、いずれのドメインでも有効である。詳細については、「DVD_DOMAIN」を参照すること。

IDvdInfo::GetTitleParentalLevels

IDvdInfo インターフェイス

特定のタイトルに対して定義されているペアレンタル ロック レベルを取得する。

構文

HRESULT GetTitleParentalLevels(
    ULONG ulTitle,
    ULONG *pParentalLevels
    );

パラメータ

ulTitle
[in] ペアレンタル ロック レベルが要求されているタイトル。
pParentalLevels
[out] タイトルに対して定義されているペアレンタル ロック レベルの論理 OR の組み合わせへのポインタ。設定レベルが高くなるほど、再生されないコンテンツが多くなる。有効なペアレンタル ロック レベルは以下のとおりである。

戻り値

インターフェイスの実装に応じた HRESULT 値を返す。通常の戻り値は次のいずれかである。
E_FAIL失敗。
E_INVALIDARG入力引数が無効。
E_NOTIMPLメソッドがサポートされていない。
E_OUTOFMEMORYメモリ不足 (バッファ スペース不足)。
E_POINTERNULL ポインタ引数。
E_UNEXPECTEDDVD が初期化されていないか、またはドメインが DVD_DOMAIN_Title ではない。
VFW_E_DVD_OPERATION_INHIBITED現在の DVD ビデオのディスクを作成しているため、現時点では要求されたアクションをムービーで実行できない。
S_OK成功。
VFW_E_DVD_INVALIDDOMAIN要求されたアクションはこのドメインではサポートされていない (DVD_DOMAIN)。

注意

このメソッドは、いずれのドメインでも有効である。詳細については、「DVD_DOMAIN」を参照すること。

IDvdInfo::GetTotalTitleTime

IDvdInfo インターフェイス

現在のタイトルの総再生時間を取得する。

構文

HRESULT GetTotalTitleTime(
    ULONG *pTotalTime
    );

パラメータ

pTotalTime
[out] 時、分、秒、フレームから構成される DVD_TIMECODE フォーマットで表す総時間へのポインタ。

戻り値

インターフェイスの実装に応じた HRESULT 値を返す。通常の戻り値は次のいずれかである。
E_FAIL失敗。
E_INVALIDARG入力引数が無効。
E_NOTIMPLメソッドがサポートされていない。
E_OUTOFMEMORYメモリ不足 (バッファ スペース不足)。
E_POINTERNULL ポインタ引数。
E_UNEXPECTEDDVD が初期化されていないか、またはドメインが DVD_DOMAIN_Title ではない。
VFW_E_DVD_OPERATION_INHIBITED現在の DVD ビデオのディスクを作成しているため、現時点では要求されたアクションをムービーで実行できない。
S_OK成功。
VFW_E_DVD_INVALIDDOMAIN要求されたアクションはこのドメインではサポートされていない (DVD_DOMAIN)。

注意

このメソッドは、ドメインが DVD_DOMAIN_Title でない限りエラーを返す。詳細については、「DVD_DOMAIN」を参照すること。

このメソッドの用途は、意図的に、分岐構造を持たない単純なムービーに限定されている。

IDvdInfo::GetVMGAttributes

IDvdInfo インターフェイス

ビデオ マネージャ (VMG) メニューのすべてのビデオ ストリーム、オーディオ ストリーム、およびサブピクチャ ストリームの属性を取得する。

構文

HRESULT GetVMGAttributes(
    DVD_ATR *pATR
    );

パラメータ

pATR
[out] 取得された属性構造体 (DVD_ATR) へのポインタ。

戻り値

インターフェイスの実装に応じた HRESULT 値を返す。通常の戻り値は次のいずれかである。
E_FAIL失敗。
E_INVALIDARG入力引数が無効。
E_NOTIMPLメソッドがサポートされていない。
E_OUTOFMEMORYメモリ不足 (バッファ スペース不足)。
E_POINTERNULL ポインタ引数。
E_UNEXPECTEDDVD が初期化されていないか、またはドメインが DVD_DOMAIN_Title ではない。
VFW_E_DVD_OPERATION_INHIBITED現在の DVD ビデオのディスクを作成しているため、現時点では要求されたアクションをムービーで実行できない。
S_OK成功。
VFW_E_DVD_INVALIDDOMAIN要求されたアクションはこのドメインではサポートされていない (DVD_DOMAIN)。

注意

このメソッドは、いずれのドメインでも有効である。詳細については、「DVD_DOMAIN」を参照すること。

ビデオ マネージャには、DVD_MENU_Title メニューなど、複数のストリームのグループが含まれており、ストリームは特定のタイトル番号と関連付けられていない。