ホーム › Media.DirectShow › IDvdInfo2
IDvdInfo2
COMメソッド 39
vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。
vtbl 3 HRESULT GetCurrentDomain(DVD_DOMAIN* pDomain)
| pDomain | DVD_DOMAIN* | out | 現在のDVDドメイン(タイトル/メニュー/停止等)を受け取るDVD_DOMAIN列挙体へのポインタ。 |
vtbl 4 HRESULT GetCurrentLocation(DVD_PLAYBACK_LOCATION2* pLocation)
| pLocation | DVD_PLAYBACK_LOCATION2* | out | 現在の再生位置の詳細を格納するDVD_PLAYBACK_LOCATION2構造体へのポインタ。 |
vtbl 5 HRESULT GetTotalTitleTime(DVD_HMSF_TIMECODE* pTotalTime, DWORD* ulTimeCodeFlags)
| pTotalTime | DVD_HMSF_TIMECODE* | out | 現在のタイトルの総再生時間を受け取るDVD_HMSF_TIMECODE構造体へのポインタ。 |
| ulTimeCodeFlags | DWORD* | out | 時間コードのフレームレート種別を示すDVD_TIMECODE_FLAGSを受け取るDWORDへのポインタ。 |
| pulButtonsAvailable | DWORD* | out | 現在選択可能なボタン総数を受け取るDWORDへのポインタ。 |
| pulCurrentButton | DWORD* | out | 現在選択中のボタン番号(1基点)を受け取るDWORDへのポインタ。 |
| pulAnglesAvailable | DWORD* | out | 利用可能なアングル総数を受け取るDWORDへのポインタ。 |
| pulCurrentAngle | DWORD* | out | 現在選択中のアングル番号(1基点)を受け取るDWORDへのポインタ。 |
| pulStreamsAvailable | DWORD* | out | 利用可能な音声ストリーム数を受け取るDWORDへのポインタ。 |
| pulCurrentStream | DWORD* | out | 現在選択中の音声ストリーム番号を受け取るDWORDへのポインタ。 |
vtbl 9 HRESULT GetCurrentSubpicture(DWORD* pulStreamsAvailable, DWORD* pulCurrentStream, BOOL* pbIsDisabled)
| pulStreamsAvailable | DWORD* | out | 利用可能なサブピクチャストリーム数を受け取るDWORDへのポインタ。 |
| pulCurrentStream | DWORD* | out | 現在選択中のサブピクチャストリーム番号を受け取るDWORDへのポインタ。 |
| pbIsDisabled | BOOL* | out | サブピクチャ表示が無効か否かを受け取るBOOLへのポインタ。TRUEで非表示。 |
| pulUOPs | DWORD* | out | 現在禁止されているユーザー操作(UOP)を示すビットフラグを受け取るDWORDへのポインタ。 |
| pRegisterArray | WORD** | out | 全システムパラメータレジスタ(SPRM)値の配列を指すWORDポインタを受け取る出力ポインタ。 |
| pRegisterArray | WORD** | out | 全汎用パラメータレジスタ(GPRM)値の配列を指すWORDポインタを受け取る出力ポインタ。 |
| ulStream | DWORD | in | 言語を問い合わせる音声ストリーム番号(0基点)を指定する。 |
| pLanguage | DWORD* | out | 対象ストリームの言語コード(LCID)を受け取るDWORDへのポインタ。 |
| ulStream | DWORD | in | 言語を問い合わせるサブピクチャストリーム番号(0基点)を指定する。 |
| pLanguage | DWORD* | out | 対象ストリームの言語コード(LCID)を受け取るDWORDへのポインタ。 |
vtbl 15 HRESULT GetTitleAttributes(DWORD ulTitle, DVD_MenuAttributes* pMenu, DVD_TitleAttributes* pTitle)
| ulTitle | DWORD | in | 属性を取得するタイトル番号。現在のタイトルには0xFFFFFFFFを指定する。 |
| pMenu | DVD_MenuAttributes* | out | タイトルに属するメニューの属性を受け取るDVD_MenuAttributes構造体へのポインタ。 |
| pTitle | DVD_TitleAttributes* | out | タイトル自体の映像・音声・サブピクチャ属性を受け取るDVD_TitleAttributes構造体へのポインタ。 |
vtbl 16 HRESULT GetVMGAttributes(DVD_MenuAttributes* pATR)
| pATR | DVD_MenuAttributes* | out | ビデオマネージャ(VMG)メニューの属性を受け取るDVD_MenuAttributes構造体へのポインタ。 |
vtbl 17 HRESULT GetCurrentVideoAttributes(DVD_VideoAttributes* pATR)
| pATR | DVD_VideoAttributes* | out | 現在の映像属性(解像度・アスペクト比等)を受け取るDVD_VideoAttributes構造体へのポインタ。 |
vtbl 18 HRESULT GetAudioAttributes(DWORD ulStream, DVD_AudioAttributes* pATR)
| ulStream | DWORD | in | 属性を取得する音声ストリーム番号を指定する。 |
| pATR | DVD_AudioAttributes* | out | 対象音声ストリームの属性を受け取るDVD_AudioAttributes構造体へのポインタ。 |
vtbl 19 HRESULT GetKaraokeAttributes(DWORD ulStream, DVD_KaraokeAttributes* pAttributes)
| ulStream | DWORD | in | 属性を取得するカラオケ音声ストリーム番号を指定する。 |
| pAttributes | DVD_KaraokeAttributes* | out | 対象ストリームのカラオケ属性を受け取るDVD_KaraokeAttributes構造体へのポインタ。 |
vtbl 20 HRESULT GetSubpictureAttributes(DWORD ulStream, DVD_SubpictureAttributes* pATR)
| ulStream | DWORD | in | 属性を取得するサブピクチャストリーム番号を指定する。 |
| pATR | DVD_SubpictureAttributes* | out | 対象サブピクチャストリームの属性を受け取るDVD_SubpictureAttributes構造体へのポインタ。 |
vtbl 21 HRESULT GetDVDVolumeInfo(DWORD* pulNumOfVolumes, DWORD* pulVolume, DVD_DISC_SIDE* pSide, DWORD* pulNumOfTitles)
| pulNumOfVolumes | DWORD* | out | ボリュームセット内のボリューム総数を受け取るDWORDへのポインタ。 |
| pulVolume | DWORD* | out | 現在のボリューム番号を受け取るDWORDへのポインタ。 |
| pSide | DVD_DISC_SIDE* | out | 現在のディスク面(A面/B面)を示すDVD_DISC_SIDE列挙体へのポインタ。 |
| pulNumOfTitles | DWORD* | out | ボリューム内のタイトル総数を受け取るDWORDへのポインタ。 |
| pulNumOfLangs | DWORD* | out | DVDテキスト情報に含まれる言語数を受け取るDWORDへのポインタ。 |
vtbl 23 HRESULT GetDVDTextLanguageInfo(DWORD ulLangIndex, DWORD* pulNumOfStrings, DWORD* pLangCode, DVD_TextCharSet* pbCharacterSet)
| ulLangIndex | DWORD | in | 情報を取得する言語のインデックス(0基点)を指定する。 |
| pulNumOfStrings | DWORD* | out | その言語に含まれるテキスト文字列数を受け取るDWORDへのポインタ。 |
| pLangCode | DWORD* | out | その言語の言語コードを受け取るDWORDへのポインタ。 |
| pbCharacterSet | DVD_TextCharSet* | out | その言語の文字セット種別を受け取るDVD_TextCharSet列挙体へのポインタ。 |
vtbl 24 HRESULT GetDVDTextStringAsNative(DWORD ulLangIndex, DWORD ulStringIndex, BYTE* pbBuffer, DWORD ulMaxBufferSize, DWORD* pulActualSize, DVD_TextStringType* pType)
| ulLangIndex | DWORD | in | 取得対象の言語インデックス(0基点)を指定する。 |
| ulStringIndex | DWORD | in | 取得対象の文字列インデックス(0基点)を指定する。 |
| pbBuffer | BYTE* | out | ネイティブ文字エンコードのまま文字列を受け取る出力バッファへのBYTEポインタ。 |
| ulMaxBufferSize | DWORD | in | pbBufferのサイズをバイト単位で指定する。 |
| pulActualSize | DWORD* | out | 実際に書き込まれたバイト数を受け取るDWORDへのポインタ。 |
| pType | DVD_TextStringType* | out | 取得した文字列の種別(タイトル名等)を示すDVD_TextStringType列挙体へのポインタ。 |
vtbl 25 HRESULT GetDVDTextStringAsUnicode(DWORD ulLangIndex, DWORD ulStringIndex, LPWSTR pchwBuffer, DWORD ulMaxBufferSize, DWORD* pulActualSize, DVD_TextStringType* pType)
| ulLangIndex | DWORD | in | 取得対象の言語インデックス(0基点)を指定する。 |
| ulStringIndex | DWORD | in | 取得対象の文字列インデックス(0基点)を指定する。 |
| pchwBuffer | LPWSTR | out | Unicodeに変換した文字列を受け取る出力ワイド文字バッファ。 |
| ulMaxBufferSize | DWORD | in | pchwBufferのサイズを文字数で指定する。 |
| pulActualSize | DWORD* | out | 実際に書き込まれた文字数を受け取るDWORDへのポインタ。 |
| pType | DVD_TextStringType* | out | 取得した文字列の種別を示すDVD_TextStringType列挙体へのポインタ。 |
| pulParentalLevel | DWORD* | out | プレーヤーの視聴制限レベル(1〜8)を受け取るDWORDへのポインタ。 |
| pbCountryCode | BYTE* | out | プレーヤーの国コード(2バイト)を受け取るBYTE配列へのポインタ。 |
| ulTitle | DWORD | in | チャプタ数を問い合わせるタイトル番号を指定する。 |
| pulNumOfChapters | DWORD* | out | 対象タイトル内のチャプタ総数を受け取るDWORDへのポインタ。 |
| ulTitle | DWORD | in | 視聴制限レベルを問い合わせるタイトル番号を指定する。 |
| pulParentalLevels | DWORD* | out | 対象タイトルがサポートする視聴制限レベルのビットマスクを受け取るDWORDへのポインタ。 |
| pszwPath | LPWSTR | out | 現在のDVDディレクトリパスを受け取る出力ワイド文字バッファ。 |
| ulMaxSize | DWORD | in | pszwPathバッファのサイズを文字数で指定する。 |
| pulActualSize | DWORD* | out | 実際に書き込まれた文字数を受け取るDWORDへのポインタ。 |
| ulStreamNum | DWORD | in | 有効状態を問い合わせる音声ストリーム番号を指定する。 |
| pbEnabled | BOOL* | out | 対象ストリームが有効か否かを受け取るBOOLへのポインタ。TRUEで有効。 |
| pszwPath | LPWSTR | in | IDを取得するDVDのパスを指すワイド文字列。NULLで現在のディスク。 |
| pullDiscID | ULONGLONG* | out | ディスクの一意な64ビットIDを受け取るULONGLONGへのポインタ。 |
| pStateData | IDvdState** | out | 現在の再生状態を保持するIDvdStateオブジェクトを受け取る出力ポインタ。 |
vtbl 33 HRESULT GetMenuLanguages(DWORD* pLanguages, DWORD ulMaxLanguages, DWORD* pulActualLanguages)
| pLanguages | DWORD* | out | 利用可能なメニュー言語コードを受け取るDWORD配列へのポインタ。 |
| ulMaxLanguages | DWORD | in | pLanguages配列に格納可能な要素数を指定する。 |
| pulActualLanguages | DWORD* | out | 実際に格納された言語数を受け取るDWORDへのポインタ。 |
| point | POINT | in | ボタンを判定する画面座標を示すPOINT構造体。 |
| pulButtonIndex | DWORD* | out | その座標に位置するボタンのインデックスを受け取るDWORDへのポインタ。 |
| lParam1 | INT_PTR | in | DVDイベント通知のlParam1値を指定し、対応するコマンドを特定する。 |
| pCmdObj | IDvdCmd** | out | イベントに対応するIDvdCmdオブジェクトを受け取る出力ポインタ。 |
| pLanguage | DWORD* | out | 既定のメニュー言語コード(LCID)を受け取るDWORDへのポインタ。 |
vtbl 37 HRESULT GetDefaultAudioLanguage(DWORD* pLanguage, DVD_AUDIO_LANG_EXT* pAudioExtension)
| pLanguage | DWORD* | out | 既定の音声言語コード(LCID)を受け取るDWORDへのポインタ。 |
| pAudioExtension | DVD_AUDIO_LANG_EXT* | out | 既定音声言語の用途拡張を示すDVD_AUDIO_LANG_EXT列挙体へのポインタ。 |
vtbl 38 HRESULT GetDefaultSubpictureLanguage(DWORD* pLanguage, DVD_SUBPICTURE_LANG_EXT* pSubpictureExtension)
| pLanguage | DWORD* | out | 既定のサブピクチャ言語コード(LCID)を受け取るDWORDへのポインタ。 |
| pSubpictureExtension | DVD_SUBPICTURE_LANG_EXT* | out | 既定字幕言語の用途拡張を示すDVD_SUBPICTURE_LANG_EXT列挙体へのポインタ。 |
vtbl 39 HRESULT GetDecoderCaps(DVD_DECODER_CAPS* pCaps)
| pCaps | DVD_DECODER_CAPS* | out | DVDデコーダの能力情報を受け取るDVD_DECODER_CAPS構造体へのポインタ。 |
| ulButton | DWORD | in | 矩形を取得するボタン番号(1基点)を指定する。 |
| pRect | RECT* | out | 対象ボタンの画面上の境界矩形を受け取るRECT構造体へのポインタ。 |
| ulStreamNum | DWORD | in | 有効状態を問い合わせるサブピクチャストリーム番号を指定する。 |
| pbEnabled | BOOL* | out | 対象ストリームが有効か否かを受け取るBOOLへのポインタ。TRUEで有効。 |
HSP用 COM定義
#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"。
出力引数:
#define global IID_IDvdInfo2 "{34151510-EEC0-11D2-8201-00A0C9D74842}" #usecom global IDvdInfo2 IID_IDvdInfo2 "{}" #comfunc global IDvdInfo2_GetCurrentDomain 3 var #comfunc global IDvdInfo2_GetCurrentLocation 4 var #comfunc global IDvdInfo2_GetTotalTitleTime 5 var,var #comfunc global IDvdInfo2_GetCurrentButton 6 var,var #comfunc global IDvdInfo2_GetCurrentAngle 7 var,var #comfunc global IDvdInfo2_GetCurrentAudio 8 var,var #comfunc global IDvdInfo2_GetCurrentSubpicture 9 var,var,var #comfunc global IDvdInfo2_GetCurrentUOPS 10 var #comfunc global IDvdInfo2_GetAllSPRMs 11 var #comfunc global IDvdInfo2_GetAllGPRMs 12 var #comfunc global IDvdInfo2_GetAudioLanguage 13 int,var #comfunc global IDvdInfo2_GetSubpictureLanguage 14 int,var #comfunc global IDvdInfo2_GetTitleAttributes 15 int,var,var #comfunc global IDvdInfo2_GetVMGAttributes 16 var #comfunc global IDvdInfo2_GetCurrentVideoAttributes 17 var #comfunc global IDvdInfo2_GetAudioAttributes 18 int,var #comfunc global IDvdInfo2_GetKaraokeAttributes 19 int,var #comfunc global IDvdInfo2_GetSubpictureAttributes 20 int,var #comfunc global IDvdInfo2_GetDVDVolumeInfo 21 var,var,var,var #comfunc global IDvdInfo2_GetDVDTextNumberOfLanguages 22 var #comfunc global IDvdInfo2_GetDVDTextLanguageInfo 23 int,var,var,var #comfunc global IDvdInfo2_GetDVDTextStringAsNative 24 int,int,var,int,var,var #comfunc global IDvdInfo2_GetDVDTextStringAsUnicode 25 int,int,var,int,var,var #comfunc global IDvdInfo2_GetPlayerParentalLevel 26 var,var #comfunc global IDvdInfo2_GetNumberOfChapters 27 int,var #comfunc global IDvdInfo2_GetTitleParentalLevels 28 int,var #comfunc global IDvdInfo2_GetDVDDirectory 29 var,int,var #comfunc global IDvdInfo2_IsAudioStreamEnabled 30 int,var #comfunc global IDvdInfo2_GetDiscID 31 wstr,var #comfunc global IDvdInfo2_GetState 32 sptr #comfunc global IDvdInfo2_GetMenuLanguages 33 var,int,var #comfunc global IDvdInfo2_GetButtonAtPosition 34 int,var #comfunc global IDvdInfo2_GetCmdFromEvent 35 sptr,sptr #comfunc global IDvdInfo2_GetDefaultMenuLanguage 36 var #comfunc global IDvdInfo2_GetDefaultAudioLanguage 37 var,var #comfunc global IDvdInfo2_GetDefaultSubpictureLanguage 38 var,var #comfunc global IDvdInfo2_GetDecoderCaps 39 var #comfunc global IDvdInfo2_GetButtonRect 40 int,var #comfunc global IDvdInfo2_IsSubpictureStreamEnabled 41 int,var ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。#define global IID_IDvdInfo2 "{34151510-EEC0-11D2-8201-00A0C9D74842}" #usecom global IDvdInfo2 IID_IDvdInfo2 "{}" #comfunc global IDvdInfo2_GetCurrentDomain 3 sptr #comfunc global IDvdInfo2_GetCurrentLocation 4 sptr #comfunc global IDvdInfo2_GetTotalTitleTime 5 sptr,sptr #comfunc global IDvdInfo2_GetCurrentButton 6 sptr,sptr #comfunc global IDvdInfo2_GetCurrentAngle 7 sptr,sptr #comfunc global IDvdInfo2_GetCurrentAudio 8 sptr,sptr #comfunc global IDvdInfo2_GetCurrentSubpicture 9 sptr,sptr,sptr #comfunc global IDvdInfo2_GetCurrentUOPS 10 sptr #comfunc global IDvdInfo2_GetAllSPRMs 11 sptr #comfunc global IDvdInfo2_GetAllGPRMs 12 sptr #comfunc global IDvdInfo2_GetAudioLanguage 13 int,sptr #comfunc global IDvdInfo2_GetSubpictureLanguage 14 int,sptr #comfunc global IDvdInfo2_GetTitleAttributes 15 int,sptr,sptr #comfunc global IDvdInfo2_GetVMGAttributes 16 sptr #comfunc global IDvdInfo2_GetCurrentVideoAttributes 17 sptr #comfunc global IDvdInfo2_GetAudioAttributes 18 int,sptr #comfunc global IDvdInfo2_GetKaraokeAttributes 19 int,sptr #comfunc global IDvdInfo2_GetSubpictureAttributes 20 int,sptr #comfunc global IDvdInfo2_GetDVDVolumeInfo 21 sptr,sptr,sptr,sptr #comfunc global IDvdInfo2_GetDVDTextNumberOfLanguages 22 sptr #comfunc global IDvdInfo2_GetDVDTextLanguageInfo 23 int,sptr,sptr,sptr #comfunc global IDvdInfo2_GetDVDTextStringAsNative 24 int,int,sptr,int,sptr,sptr #comfunc global IDvdInfo2_GetDVDTextStringAsUnicode 25 int,int,sptr,int,sptr,sptr #comfunc global IDvdInfo2_GetPlayerParentalLevel 26 sptr,sptr #comfunc global IDvdInfo2_GetNumberOfChapters 27 int,sptr #comfunc global IDvdInfo2_GetTitleParentalLevels 28 int,sptr #comfunc global IDvdInfo2_GetDVDDirectory 29 sptr,int,sptr #comfunc global IDvdInfo2_IsAudioStreamEnabled 30 int,sptr #comfunc global IDvdInfo2_GetDiscID 31 wstr,sptr #comfunc global IDvdInfo2_GetState 32 sptr #comfunc global IDvdInfo2_GetMenuLanguages 33 sptr,int,sptr #comfunc global IDvdInfo2_GetButtonAtPosition 34 int,sptr #comfunc global IDvdInfo2_GetCmdFromEvent 35 sptr,sptr #comfunc global IDvdInfo2_GetDefaultMenuLanguage 36 sptr #comfunc global IDvdInfo2_GetDefaultAudioLanguage 37 sptr,sptr #comfunc global IDvdInfo2_GetDefaultSubpictureLanguage 38 sptr,sptr #comfunc global IDvdInfo2_GetDecoderCaps 39 sptr #comfunc global IDvdInfo2_GetButtonRect 40 int,sptr #comfunc global IDvdInfo2_IsSubpictureStreamEnabled 41 int,sptr ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数はポインタ方式(token=sptr / 呼び出しは varptr(変数))。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。