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

IDvdInfo

COM
IIDa70efe60-e2a3-11d0-a9be-00aa0061be93継承元IUnknown自前メソッド開始 vtbl3

公式ドキュメント

注意  このインターフェイスは非推奨です。 (IDvdInfo)

メソッド 23

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

vtbl 3 HRESULT GetCurrentDomain(DVD_DOMAIN* pDomain)

注意  IDvdInfo インターフェイスは非推奨です。代わりに IDvdInfo2 を使用してください。DVD プレーヤーの現在の DVD ドメインを取得します。

pDomainDVD_DOMAIN*outDVD_DOMAIN 列挙型のメンバーである現在のドメインへのポインター。

戻り値

HRESULT 値を返します。

リターンコード 説明
S_OK
成功しました。
VFW_E_DVD_OPERATION_INHIBITED
現在の DVD-Video ディスクのオーサリングが原因で、要求されたアクションはムービーのこの時点では実行できません。

解説(Remarks)

このメソッドはどのドメインでも有効です。詳細については、DVD_DOMAIN を参照してください。

vtbl 4 HRESULT GetCurrentLocation(DVD_PLAYBACK_LOCATION* pLocation)

注意  IDvdInfo インターフェイスは非推奨です。代わりに IDvdInfo2 を使用してください。現在の再生位置を取得します。

pLocationDVD_PLAYBACK_LOCATION*outDVD_PLAYBACK_LOCATION 構造体内の、取得された再生位置情報へのポインター。

戻り値

HRESULT 値を返します。

リターンコード 説明
E_UNEXPECTED
DVD が初期化されていないか、ドメインが DVD_DOMAIN_Title ではありません。
S_OK
成功しました。
VFW_E_DVD_INVALIDDOMAIN
要求されたアクションはこのドメイン (DVD_DOMAIN) ではサポートされていません。
VFW_E_DVD_OPERATION_INHIBITED
現在の DVD-Video ディスクのオーサリングが原因で、要求されたアクションはムービーのこの時点では実行できません。

解説(Remarks)

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

このメソッドは、ドメインが DVD_DOMAIN_Title でない限りエラーを返します。詳細については、DVD_DOMAIN を参照してください。

vtbl 5 HRESULT GetTotalTitleTime(DWORD* pulTotalTime)

注意  IDvdInfo インターフェイスは非推奨です。代わりに IDvdInfo2 を使用してください。現在のタイトルの総再生時間を取得します。

pulTotalTimeDWORD*outDVD_TIMECODE 形式の総時間へのポインター。時、分、秒、フレームが含まれます。

戻り値

HRESULT 値を返します。

リターンコード 説明
E_UNEXPECTED
DVD が初期化されていないか、ドメインが DVD_DOMAIN_Title ではありません。
S_OK
成功しました。
VFW_E_DVD_INVALIDDOMAIN
要求されたアクションはこのドメイン (DVD_DOMAIN) ではサポートされていません。
VFW_E_DVD_OPERATION_INHIBITED
現在の DVD-Video ディスクのオーサリングが原因で、要求されたアクションはムービーのこの時点では実行できません。

解説(Remarks)

このメソッドは、ドメインが DVD_DOMAIN_Title でない限りエラーを返します。詳細については、DVD_DOMAIN を参照してください。

このメソッドは、設計上、単純な直線的ムービーに制限されています。

vtbl 6 HRESULT GetCurrentButton(DWORD* pulButtonsAvailable, DWORD* pulCurrentButton)

注意  IDvdInfo インターフェイスは非推奨です。代わりに IDvdInfo2 を使用してください。使用可能なボタンの数と、現在選択されているボタンの番号を取得します。

pulButtonsAvailableDWORD*out使用可能なボタンの数へのポインター。
pulCurrentButtonDWORD*out現在のボタンの番号へのポインター。

戻り値

HRESULT 値を返します。

リターンコード 説明
S_OK
成功しました。
VFW_E_DVD_OPERATION_INHIBITED
現在の DVD-Video ディスクのオーサリングが原因で、要求されたアクションはムービーのこの時点では実行できません。

解説(Remarks)

ボタンが存在しない場合、このメソッドは pnButtonsAvailablepnCurrentButton の両方に 0 を返します。

このメソッドはどのドメインでも有効です。詳細については、DVD_DOMAIN を参照してください。

vtbl 7 HRESULT GetCurrentAngle(DWORD* pulAnglesAvailable, DWORD* pulCurrentAngle)

注意  IDvdInfo インターフェイスは非推奨です。代わりに IDvdInfo2 を使用してください。使用可能なアングルの数と、現在選択されているアングルの番号を取得します。

pulAnglesAvailableDWORD*out取得された使用可能なアングルの数へのポインター。指し示す値が 1 の場合、現在のビデオには複数のアングルが含まれていません。
pulCurrentAngleDWORD*out取得された現在のアングル番号へのポインター。

戻り値

HRESULT 値を返します。

リターンコード 説明
E_UNEXPECTED
DVD が初期化されていないか、ドメインが DVD_DOMAIN_Title ではありません。
S_OK
成功しました。
VFW_E_DVD_INVALIDDOMAIN
要求されたアクションはこのドメイン (DVD_DOMAIN) ではサポートされていません。
VFW_E_DVD_OPERATION_INHIBITED
現在の DVD-Video ディスクのオーサリングが原因で、要求されたアクションはムービーのこの時点では実行できません。

解説(Remarks)

アングルとは、通常は同じシーンを異なるカメラアングルから撮影した映像を含む、インターリーブされたビデオストリームです。

このメソッドは、ドメインが DVD_DOMAIN_Title でない限りエラーを返します。詳細については、DVD_DOMAIN を参照してください。

vtbl 8 HRESULT GetCurrentAudio(DWORD* pulStreamsAvailable, DWORD* pulCurrentStream)

注意  IDvdInfo インターフェイスは非推奨です。代わりに IDvdInfo2 を使用してください。使用可能なオーディオストリームの数と、現在選択されているオーディオストリームの番号を取得します。

pulStreamsAvailableDWORD*out取得された使用可能なオーディオストリームの数へのポインター。
pulCurrentStreamDWORD*out現在のストリーム番号へのポインター。

戻り値

HRESULT 値を返します。

リターンコード 説明
E_UNEXPECTED
DVD が初期化されていないか、ドメインが DVD_DOMAIN_Title ではありません。
S_OK
成功しました。
VFW_E_DVD_INVALIDDOMAIN
要求されたアクションはこのドメイン (DVD_DOMAIN) ではサポートされていません。
VFW_E_DVD_OPERATION_INHIBITED
現在の DVD-Video ディスクのオーサリングが原因で、要求されたアクションはムービーのこの時点では実行できません。

解説(Remarks)

このメソッドは、ドメインが DVD_DOMAIN_Title でない限りエラーを返します。詳細については、DVD_DOMAIN を参照してください。

vtbl 9 HRESULT GetCurrentSubpicture(DWORD* pulStreamsAvailable, DWORD* pulCurrentStream, BOOL* pIsDisabled)

注意  IDvdInfo インターフェイスは非推奨です。代わりに IDvdInfo2 を使用してください。使用可能なサブピクチャストリームの数、現在選択されているサブピクチャストリームの番号、およびサブピクチャ表示が無効かどうかを取得します。

pulStreamsAvailableDWORD*out取得された使用可能なサブピクチャストリームの数へのポインター。
pulCurrentStreamDWORD*out現在選択されているサブピクチャストリームの、取得された番号へのポインター。
pIsDisabledBOOL*outサブピクチャ表示が無効かどうかを示す値へのポインター。

戻り値

HRESULT 値を返します。

リターンコード 説明
E_UNEXPECTED
DVD が初期化されていないか、ドメインが DVD_DOMAIN_Title ではありません。
S_OK
成功しました。
VFW_E_DVD_INVALIDDOMAIN
要求されたアクションはこのドメイン (DVD_DOMAIN) ではサポートされていません。
VFW_E_DVD_OPERATION_INHIBITED
現在の DVD-Video ディスクのオーサリングが原因で、要求されたアクションはムービーのこの時点では実行できません。

解説(Remarks)

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

このメソッドは、ドメインが DVD_DOMAIN_Title でない限りエラーを返します。詳細については、DVD_DOMAIN を参照してください。

vtbl 10 HRESULT GetCurrentUOPS(DWORD* pUOP)

注意  IDvdInfo インターフェイスは非推奨です。代わりに IDvdInfo2 を使用してください。現在有効な IDvdControl メソッドを取得します。

pUOPDWORD*outすべてのユーザー操作 (UOP) のビットを含む DWORD 値へのポインター。DWORD の各ビットは、ユーザー操作の状態 (有効または無効) を表します。ユーザー操作に対応するビットが設定されている場合、そのユーザー操作は禁止されています。詳細については、「解説」を参照してください。

戻り値

HRESULT 値を返します。

リターンコード 説明
E_UNEXPECTED
DVD が初期化されていないか、ドメインが DVD_DOMAIN_Title ではありません。
S_OK
成功しました。
VFW_E_DVD_INVALIDDOMAIN
要求されたアクションはこのドメイン (DVD_DOMAIN) ではサポートされていません。
VFW_E_DVD_OPERATION_INHIBITED
現在の DVD-Video ディスクのオーサリングが原因で、要求されたアクションはムービーのこの時点では実行できません。

解説(Remarks)

このメソッドはどのドメインでも有効です。詳細については、DVD_DOMAIN を参照してください。

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

ビット フラグ ユーザー関数
0 UOP_FLAG_Title_Or_Time_Play TitlePlay, TimePlay
1 UOP_FLAG_Chapter_Search_Or_Play ChapterSearch, ChapterPlay
2 UOP_FLAG_Title_Play TitlePlay
3 UOP_FLAG_Stop StopForResume
4 UOP_FLAG_GoUp GoUp
5 UOP_FLAG_Time_Or_Chapter_Search TimeSearch, ChapterSearch
6 UOP_FLAG_Prev_Or_Top_PG_Search PrevPGSearch, TopPGSearch
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 MenuCall (パラメーター値 2、DVD_MENU_Title)
11 UOP_FLAG_Root_Menu_Call MenuCall (パラメーター値 3、DVD_MENU_Root)
12 UOP_FLAG_SubPic_Menu_Call MenuCall (パラメーター値 4、DVD_MENU_Subpicture)
13 UOP_FLAG_Audio_Menu_Call MenuCall (パラメーター値 5、DVD_MENU_Audio)
14 UOP_FLAG_Angle_Menu_Call MenuCall (パラメーター値 6、DVD_MENU_Angle)
15 UOP_FLAG_Chapter_Menu_Call MenuCall (パラメーター値 7、DVD_MENU_Chapter)
16 UOP_FLAG_Resume Resume
17 UOP_FLAG_Button_Select_Or_Activate UpperButtonSelect, LowerButtonSelect, LeftButtonSelect, RightButtonSelect, ButtonActivate, ButtonSelectAndActivate
18 UOP_FLAG_Still_Off StillOff
19 UOP_FLAG_Pause_On PauseOn, MenuLanguageSelect
20 UOP_FLAG_Audio_Stream_Change AudioStreamChange
21 UOP_FLAG_SubPic_Stream_Change SubpictureStreamChange
22 UOP_FLAG_Angle_Change AngleChange, ParentalLevelSelect
23 UOP_FLAG_Karaoke_Audio_Pres_Mode_Change KaraokeAudioPresentationModeChange
24 UOP_FLAG_Video_Pres_Mode_Change VideoModePreferrence
 

DVD タイトルは再生中のほぼ任意の時点で個々のユーザー操作を有効または無効にできるため、このメソッドは有用です。

vtbl 11 HRESULT GetAllSPRMs(WORD** pRegisterArray)

注意  IDvdInfo インターフェイスは非推奨です。代わりに IDvdInfo2 を使用してください。すべてのシステムパラメーターレジスター (SPRM) の現在の内容を取得します。

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

戻り値

HRESULT 値を返します。

リターンコード 説明
E_UNEXPECTED
DVD が初期化されていないか、ドメインが DVD_DOMAIN_Title ではありません。
S_OK
成功しました。
VFW_E_DVD_INVALIDDOMAIN
要求されたアクションはこのドメイン (DVD_DOMAIN) ではサポートされていません。
VFW_E_DVD_OPERATION_INHIBITED
現在の DVD-Video ディスクのオーサリングが原因で、要求されたアクションはムービーのこの時点では実行できません。

解説(Remarks)

このメソッドはどのドメインでも有効です。詳細については、DVD_DOMAIN を参照してください。

個々のレジスターの使用については、DVD-Video 仕様を参照してください。

vtbl 12 HRESULT GetAllGPRMs(WORD** pRegisterArray)

注意  IDvdInfo インターフェイスは非推奨です。代わりに IDvdInfo2 を使用してください。すべての汎用パラメーターレジスター (GPRM) の現在の内容を取得します。

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

戻り値

HRESULT 値を返します。

リターンコード 説明
E_UNEXPECTED
DVD が初期化されていないか、ドメインが DVD_DOMAIN_Title ではありません。
S_OK
成功しました。
VFW_E_DVD_INVALIDDOMAIN
要求されたアクションはこのドメイン (DVD_DOMAIN) ではサポートされていません。
VFW_E_DVD_OPERATION_INHIBITED
現在の DVD-Video ディスクのオーサリングが原因で、要求されたアクションはムービーのこの時点では実行できません。

解説(Remarks)

このメソッドはどのドメインでも有効です。詳細については、DVD_DOMAIN を参照してください。

GPRM の使用方法はタイトルごとに固有です。GPRM は汎用パラメーターレジスターです。GPRM の説明については、DVD 仕様を参照してください。

vtbl 13 HRESULT GetAudioLanguage(DWORD ulStream, DWORD* pLanguage)

注意  IDvdInfo インターフェイスは非推奨です。代わりに IDvdInfo2 を使用してください。現在のタイトル内で指定されたオーディオストリームの言語を取得します。

ulStreamDWORDinストリーム番号。
pLanguageDWORD*out取得された言語へのポインター。

戻り値

HRESULT 値を返します。

リターンコード 説明
E_UNEXPECTED
DVD が初期化されていないか、ドメインが DVD_DOMAIN_Title ではありません。
S_OK
成功しました。
VFW_E_DVD_INVALIDDOMAIN
要求されたアクションはこのドメイン (DVD_DOMAIN) ではサポートされていません。
VFW_E_DVD_OPERATION_INHIBITED
現在の DVD-Video ディスクのオーサリングが原因で、要求されたアクションはムービーのこの時点では実行できません。

解説(Remarks)

このメソッドは、ドメインが DVD_DOMAIN_Title でない限りエラーを返します。詳細については、DVD_DOMAIN を参照してください。

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

C++
GetLocaleInfo(*pLanguage, LOCALE_SENGLANGUAGE, pszString, cbSize);
vtbl 14 HRESULT GetSubpictureLanguage(DWORD ulStream, DWORD* pLanguage)

注意  IDvdInfo インターフェイスは非推奨です。代わりに IDvdInfo2 を使用してください。現在のタイトル内で指定されたサブピクチャストリームの言語を取得します。

ulStreamDWORDinストリーム番号。
pLanguageDWORD*out取得された言語へのポインター。

戻り値

HRESULT 値を返します。

リターンコード 説明
E_UNEXPECTED
DVD が初期化されていないか、ドメインが DVD_DOMAIN_Title ではありません。
S_OK
成功しました。
VFW_E_DVD_INVALIDDOMAIN
要求されたアクションはこのドメイン (DVD_DOMAIN) ではサポートされていません。
VFW_E_DVD_OPERATION_INHIBITED
現在の DVD-Video ディスクのオーサリングが原因で、要求されたアクションはムービーのこの時点では実行できません。

解説(Remarks)

このメソッドは、ドメインが DVD_DOMAIN_Title でない限りエラーを返します。詳細については、DVD_DOMAIN を参照してください。

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

C++
GetLocaleInfo(*pLanguage, LOCALE_SENGLANGUAGE, pszString, cbSize);
vtbl 15 HRESULT GetTitleAttributes(DWORD ulTitle, DVD_ATR* pATR)

注意  IDvdInfo インターフェイスは非推奨です。代わりに IDvdInfo2 を使用してください。指定されたタイトルの、メニューを含むすべてのビデオ、オーディオ、およびサブピクチャストリームの属性を取得します。

ulTitleDWORDin要求するタイトル番号。現在のタイトルを指定するには 0xFFFFFFFF を指定します。
pATRDVD_ATR*out取得された属性構造体へのポインター。

戻り値

HRESULT 値を返します。

リターンコード 説明
E_UNEXPECTED
DVD が初期化されていないか、ドメインが DVD_DOMAIN_Title ではありません。
S_OK
成功しました。
VFW_E_DVD_INVALIDDOMAIN
要求されたアクションはこのドメイン (DVD_DOMAIN) ではサポートされていません。
VFW_E_DVD_OPERATION_INHIBITED
現在の DVD-Video ディスクのオーサリングが原因で、要求されたアクションはムービーのこの時点では実行できません。

解説(Remarks)

このメソッドはどのドメインでも有効です。詳細については、DVD_DOMAIN を参照してください。

vtbl 16 HRESULT GetVMGAttributes(DVD_ATR* pATR)

注意  IDvdInfo インターフェイスは非推奨です。代わりに IDvdInfo2 を使用してください。ビデオマネージャー (VMG) メニューの、すべてのビデオ、オーディオ、およびサブピクチャストリームの属性を取得します。

pATRDVD_ATR*out取得された属性構造体へのポインター。

戻り値

HRESULT 値を返します。

リターンコード 説明
E_UNEXPECTED
DVD が初期化されていないか、ドメインが DVD_DOMAIN_Title ではありません。
S_OK
成功しました。
VFW_E_DVD_INVALIDDOMAIN
要求されたアクションはこのドメイン (DVD_DOMAIN) ではサポートされていません。
VFW_E_DVD_OPERATION_INHIBITED
現在の DVD-Video ディスクのオーサリングが原因で、要求されたアクションはムービーのこの時点では実行できません。

解説(Remarks)

このメソッドはどのドメインでも有効です。詳細については、DVD_DOMAIN を参照してください。

ビデオマネージャーには、DVD_MENU_Title メニュー (「DVD_MENU_ID」を参照) など、独立したストリームのグループが含まれており、これらのストリームは特定のタイトル番号に関連付けられていません。

vtbl 17 HRESULT GetCurrentVideoAttributes(BYTE** pATR)

注意  IDvdInfo インターフェイスは非推奨です。代わりに IDvdInfo2 を使用してください。現在のタイトルまたはメニューの現在のビデオ属性を取得します。

pATRBYTE**out取得されたビデオ属性へのポインター。

戻り値

HRESULT 値を返します。

リターンコード 説明
E_UNEXPECTED
DVD が初期化されていないか、ドメインが DVD_DOMAIN_Title ではありません。
S_OK
成功しました。
VFW_E_DVD_INVALIDDOMAIN
要求されたアクションはこのドメイン (DVD_DOMAIN) ではサポートされていません。
VFW_E_DVD_OPERATION_INHIBITED
現在の DVD-Video ディスクのオーサリングが原因で、要求されたアクションはムービーのこの時点では実行できません。

解説(Remarks)

このメソッドは、ドメインが DVD_DOMAIN_VideoManagerMenu、DVD_DOMAIN_VideoTitleSetMenu、または DVD_DOMAIN_Title のいずれかでない限りエラーを返します。詳細については、DVD_DOMAIN を参照してください。

DVD_VideoATR については、DVD-Video 仕様を参照してください。

vtbl 18 HRESULT GetCurrentAudioAttributes(BYTE** pATR)

注意  IDvdInfo インターフェイスは非推奨です。代わりに IDvdInfo2 を使用してください。現在のタイトルまたはメニュー内の現在のオーディオストリームの属性を取得します。

pATRBYTE**out取得されたオーディオ属性へのポインター。

戻り値

HRESULT 値を返します。

リターンコード 説明
E_UNEXPECTED
DVD が初期化されていないか、ドメインが DVD_DOMAIN_Title ではありません。
S_OK
成功しました。
VFW_E_DVD_INVALIDDOMAIN
要求されたアクションはこのドメイン (DVD_DOMAIN) ではサポートされていません。
VFW_E_DVD_OPERATION_INHIBITED
現在の DVD-Video ディスクのオーサリングが原因で、要求されたアクションはムービーのこの時点では実行できません。

解説(Remarks)

このメソッドは、ドメインが DVD_DOMAIN_VideoManagerMenu、DVD_DOMAIN_VideoTitleSetMenu、または DVD_DOMAIN_Title のいずれかでない限りエラーを返します。詳細については、DVD_DOMAIN を参照してください。

DVD_AudioATR データ型については、DVD-Video 仕様を参照してください。

vtbl 19 HRESULT GetCurrentSubpictureAttributes(BYTE** pATR)

注意  IDvdInfo インターフェイスは非推奨です。代わりに IDvdInfo2 を使用してください。現在のタイトルまたはメニュー内の現在のサブピクチャストリームの属性を取得します。

pATRBYTE**out取得されたサブピクチャ属性へのポインター。

戻り値

HRESULT 値を返します。

リターンコード 説明
E_UNEXPECTED
DVD が初期化されていないか、ドメインが DVD_DOMAIN_Title ではありません。
S_OK
成功しました。
VFW_E_DVD_OPERATION_INHIBITED
現在の DVD-Video ディスクのオーサリングが原因で、要求されたアクションはムービーのこの時点では実行できません。

解説(Remarks)

このメソッドは、ドメインが DVD_DOMAIN_VideoManagerMenu、DVD_DOMAIN_VideoTitleSetMenu、または DVD_DOMAIN_Title のいずれかでない限りエラーを返します。詳細については、DVD_DOMAIN を参照してください。

DVD_SubpictureATR については、DVD-Video 仕様を参照してください。

vtbl 20 HRESULT GetCurrentVolumeInfo(DWORD* pulNumOfVol, DWORD* pulThisVolNum, DVD_DISC_SIDE* pSide, DWORD* pulNumOfTitles)

注意  IDvdInfo インターフェイスは非推奨です。代わりに IDvdInfo2 を使用してください。現在の DVD ボリューム情報を取得します。

pulNumOfVolDWORD*outボリュームセット内の、取得されたボリューム数へのポインター。
pulThisVolNumDWORD*outこのルートディレクトリの、取得されたボリューム番号へのポインター。
pSideDVD_DISC_SIDE*out取得された現在のディスク面 (DVD_DISC_SIDE) へのポインター。
pulNumOfTitlesDWORD*outこのボリュームで使用可能な、取得されたタイトル数へのポインター。

戻り値

HRESULT 値を返します。

リターンコード 説明
E_UNEXPECTED
DVD が初期化されていないか、ドメインが DVD_DOMAIN_Title ではありません。
S_OK
成功しました。
VFW_E_DVD_INVALIDDOMAIN
要求されたアクションはこのドメイン (DVD_DOMAIN) ではサポートされていません。
VFW_E_DVD_OPERATION_INHIBITED
現在の DVD-Video ディスクのオーサリングが原因で、要求されたアクションはムービーのこの時点では実行できません。

解説(Remarks)

このメソッドはどのドメインでも有効です。詳細については、DVD_DOMAIN を参照してください。

vtbl 21 HRESULT GetDVDTextInfo(BYTE* pTextManager, DWORD ulBufSize, DWORD* pulActualSize)

注意  IDvdInfo インターフェイスは非推奨です。代わりに IDvdInfo2 を使用してください。タイトル名、ボリューム名、プロデューサー名、ボーカリスト名などのテキスト説明をさまざまな言語で格納できる TXTDT_MG 構造体を取得します。

pTextManagerBYTE*out取得されたテキストマネージャーへのポインター。
ulBufSizeDWORDinpTextManager 用のバッファーのサイズ (バイト単位)。
pulActualSizeDWORD*out返されたデータのバイト数を格納する値へのポインター。

戻り値

HRESULT 値を返します。

リターンコード 説明
E_UNEXPECTED
DVD が初期化されていないか、ドメインが DVD_DOMAIN_Title ではありません。
S_OK
成功しました。
VFW_E_DVD_INVALIDDOMAIN
要求されたアクションはこのドメイン (DVD_DOMAIN) ではサポートされていません。
VFW_E_DVD_OPERATION_INHIBITED
現在の DVD-Video ディスクのオーサリングが原因で、要求されたアクションはムービーのこの時点では実行できません。

解説(Remarks)

このメソッドはどのドメインでも有効です。詳細については、DVD_DOMAIN を参照してください。

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

詳細については、DVD-Video 仕様のセクション 4.1.6 および付録 A を参照してください。

vtbl 22 HRESULT GetPlayerParentalLevel(DWORD* pulParentalLevel, DWORD* pulCountryCode)

注意  IDvdInfo インターフェイスは非推奨です。代わりに IDvdInfo2 を使用してください。DVD プレーヤーの現在のペアレンタルレベルと国/地域コードの設定を取得します。

pulParentalLevelDWORD*out現在のペアレンタルレベルを示す値へのポインター。
pulCountryCodeDWORD*out現在の国/地域コードを示す値へのポインター。

戻り値

HRESULT 値を返します。

リターンコード 説明
E_UNEXPECTED
DVD が初期化されていないか、ドメインが DVD_DOMAIN_Title ではありません。
S_OK
成功しました。
VFW_E_DVD_INVALIDDOMAIN
要求されたアクションはこのドメイン (DVD_DOMAIN) ではサポートされていません。
VFW_E_DVD_OPERATION_INHIBITED
現在の DVD-Video ディスクのオーサリングが原因で、要求されたアクションはムービーのこの時点では実行できません。

解説(Remarks)

このメソッドはどのドメインでも有効です。詳細については、DVD_DOMAIN を参照してください。

定義されているペアレンタルレベルについては、DVD-Video 仕様の表 3.3.4-1 を参照してください。

有効なペアレンタルレベルは、ペアレンタル管理が有効な場合は 1 から 8、ペアレンタル管理が無効な場合は 0xffffffff です。

国/地域コードについては、ISO3166 : Alpha-2 コードを参照してください。

vtbl 23 HRESULT GetNumberOfChapters(DWORD ulTitle, DWORD* pulNumberOfChapters)

注意  IDvdInfo インターフェイスは非推奨です。代わりに IDvdInfo2 を使用してください。指定されたタイトルに対して定義されているチャプターの数を取得します。

ulTitleDWORDinチャプター数を取得するタイトル。
pulNumberOfChaptersDWORD*out指定されたタイトルの、取得されたチャプター数へのポインター。

戻り値

HRESULT 値を返します。

リターンコード 説明
E_UNEXPECTED
DVD が初期化されていないか、ドメインが DVD_DOMAIN_Title ではありません。
S_OK
成功しました。
VFW_E_DVD_INVALIDDOMAIN
要求されたアクションはこのドメイン (DVD_DOMAIN) ではサポートされていません。
VFW_E_DVD_OPERATION_INHIBITED
現在の DVD-Video ディスクのオーサリングが原因で、要求されたアクションはムービーのこの時点では実行できません。

解説(Remarks)

このメソッドはどのドメインでも有効です。詳細については、DVD_DOMAIN を参照してください。

vtbl 24 HRESULT GetTitleParentalLevels(DWORD ulTitle, DWORD* pulParentalLevels)

注意  IDvdInfo インターフェイスは非推奨です。代わりに IDvdInfo2 を使用してください。特定のタイトルに対して定義されているペアレンタルレベルを取得します。

ulTitleDWORDinペアレンタルレベルを要求するタイトル。
pulParentalLevelsDWORD*out

タイトルに対して定義されたペアレンタルレベルの論理 OR による組み合わせへのポインター。設定値が高いほど、低い設定よりも多くのコンテンツがブロックされます。有効なペアレンタルレベルは次のとおりです。

戻り値

HRESULT 値を返します。

リターンコード 説明
E_UNEXPECTED
DVD が初期化されていないか、ドメインが DVD_DOMAIN_Title ではありません。
S_OK
成功しました。
VFW_E_DVD_INVALIDDOMAIN
要求されたアクションはこのドメイン (DVD_DOMAIN) ではサポートされていません。
VFW_E_DVD_OPERATION_INHIBITED
現在の DVD-Video ディスクのオーサリングが原因で、要求されたアクションはムービーのこの時点では実行できません。

解説(Remarks)

このメソッドはどのドメインでも有効です。詳細については、DVD_DOMAIN を参照してください。

vtbl 25 HRESULT GetRoot(LPSTR pRoot, DWORD ulBufSize, DWORD* pulActualSize)

注意  IDvdInfo インターフェイスは非推奨です。代わりに IDvdInfo2 を使用してください。プレーヤーに設定されているルートディレクトリを取得します。

pRootLPSTRoutルート文字列を受け取るバッファーへのポインター。ルート文字列は ANSI 文字を使用することに注意してください。
ulBufSizeDWORDin渡されるバッファーのサイズ (バイト単位)。
pulActualSizeDWORD*out実際に返されたデータのサイズを格納する値へのポインター。

戻り値

HRESULT 値を返します。

リターンコード 説明
E_UNEXPECTED
DVD が初期化されていないか、ドメインが DVD_DOMAIN_Title ではありません。
S_OK
成功しました。
VFW_E_DVD_INVALIDDOMAIN
要求されたアクションはこのドメイン (DVD_DOMAIN) ではサポートされていません。
VFW_E_DVD_OPERATION_INHIBITED
現在の DVD-Video ディスクのオーサリングが原因で、要求されたアクションはムービーのこの時点では実行できません。

解説(Remarks)

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

出典・ライセンス: 上記「公式ドキュメント」の内容は 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_IDvdInfo "{A70EFE60-E2A3-11D0-A9BE-00AA0061BE93}"
#usecom global IDvdInfo IID_IDvdInfo "{}"
#comfunc global IDvdInfo_GetCurrentDomain                3 var
#comfunc global IDvdInfo_GetCurrentLocation              4 var
#comfunc global IDvdInfo_GetTotalTitleTime               5 var
#comfunc global IDvdInfo_GetCurrentButton                6 var,var
#comfunc global IDvdInfo_GetCurrentAngle                 7 var,var
#comfunc global IDvdInfo_GetCurrentAudio                 8 var,var
#comfunc global IDvdInfo_GetCurrentSubpicture            9 var,var,var
#comfunc global IDvdInfo_GetCurrentUOPS                  10 var
#comfunc global IDvdInfo_GetAllSPRMs                     11 var
#comfunc global IDvdInfo_GetAllGPRMs                     12 var
#comfunc global IDvdInfo_GetAudioLanguage                13 int,var
#comfunc global IDvdInfo_GetSubpictureLanguage           14 int,var
#comfunc global IDvdInfo_GetTitleAttributes              15 int,var
#comfunc global IDvdInfo_GetVMGAttributes                16 var
#comfunc global IDvdInfo_GetCurrentVideoAttributes       17 var
#comfunc global IDvdInfo_GetCurrentAudioAttributes       18 var
#comfunc global IDvdInfo_GetCurrentSubpictureAttributes  19 var
#comfunc global IDvdInfo_GetCurrentVolumeInfo            20 var,var,var,var
#comfunc global IDvdInfo_GetDVDTextInfo                  21 var,int,var
#comfunc global IDvdInfo_GetPlayerParentalLevel          22 var,var
#comfunc global IDvdInfo_GetNumberOfChapters             23 int,var
#comfunc global IDvdInfo_GetTitleParentalLevels          24 int,var
#comfunc global IDvdInfo_GetRoot                         25 var,int,var
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。