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

IDvdInfo2

COM
IID34151510-eec0-11d2-8201-00a0c9d74842継承元IUnknown自前メソッド開始 vtbl3

メソッド 39

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

vtbl 3 HRESULT GetCurrentDomain(DVD_DOMAIN* pDomain)
pDomainDVD_DOMAIN*out現在のDVDドメイン(タイトル/メニュー/停止等)を受け取るDVD_DOMAIN列挙体へのポインタ。
vtbl 4 HRESULT GetCurrentLocation(DVD_PLAYBACK_LOCATION2* pLocation)
pLocationDVD_PLAYBACK_LOCATION2*out現在の再生位置の詳細を格納するDVD_PLAYBACK_LOCATION2構造体へのポインタ。
vtbl 5 HRESULT GetTotalTitleTime(DVD_HMSF_TIMECODE* pTotalTime, DWORD* ulTimeCodeFlags)
pTotalTimeDVD_HMSF_TIMECODE*out現在のタイトルの総再生時間を受け取るDVD_HMSF_TIMECODE構造体へのポインタ。
ulTimeCodeFlagsDWORD*out時間コードのフレームレート種別を示すDVD_TIMECODE_FLAGSを受け取るDWORDへのポインタ。
vtbl 6 HRESULT GetCurrentButton(DWORD* pulButtonsAvailable, DWORD* pulCurrentButton)
pulButtonsAvailableDWORD*out現在選択可能なボタン総数を受け取るDWORDへのポインタ。
pulCurrentButtonDWORD*out現在選択中のボタン番号(1基点)を受け取るDWORDへのポインタ。
vtbl 7 HRESULT GetCurrentAngle(DWORD* pulAnglesAvailable, DWORD* pulCurrentAngle)
pulAnglesAvailableDWORD*out利用可能なアングル総数を受け取るDWORDへのポインタ。
pulCurrentAngleDWORD*out現在選択中のアングル番号(1基点)を受け取るDWORDへのポインタ。
vtbl 8 HRESULT GetCurrentAudio(DWORD* pulStreamsAvailable, DWORD* pulCurrentStream)
pulStreamsAvailableDWORD*out利用可能な音声ストリーム数を受け取るDWORDへのポインタ。
pulCurrentStreamDWORD*out現在選択中の音声ストリーム番号を受け取るDWORDへのポインタ。
vtbl 9 HRESULT GetCurrentSubpicture(DWORD* pulStreamsAvailable, DWORD* pulCurrentStream, BOOL* pbIsDisabled)
pulStreamsAvailableDWORD*out利用可能なサブピクチャストリーム数を受け取るDWORDへのポインタ。
pulCurrentStreamDWORD*out現在選択中のサブピクチャストリーム番号を受け取るDWORDへのポインタ。
pbIsDisabledBOOL*outサブピクチャ表示が無効か否かを受け取るBOOLへのポインタ。TRUEで非表示。
vtbl 10 HRESULT GetCurrentUOPS(DWORD* pulUOPs)
pulUOPsDWORD*out現在禁止されているユーザー操作(UOP)を示すビットフラグを受け取るDWORDへのポインタ。
vtbl 11 HRESULT GetAllSPRMs(WORD** pRegisterArray)
pRegisterArrayWORD**out全システムパラメータレジスタ(SPRM)値の配列を指すWORDポインタを受け取る出力ポインタ。
vtbl 12 HRESULT GetAllGPRMs(WORD** pRegisterArray)
pRegisterArrayWORD**out全汎用パラメータレジスタ(GPRM)値の配列を指すWORDポインタを受け取る出力ポインタ。
vtbl 13 HRESULT GetAudioLanguage(DWORD ulStream, DWORD* pLanguage)
ulStreamDWORDin言語を問い合わせる音声ストリーム番号(0基点)を指定する。
pLanguageDWORD*out対象ストリームの言語コード(LCID)を受け取るDWORDへのポインタ。
vtbl 14 HRESULT GetSubpictureLanguage(DWORD ulStream, DWORD* pLanguage)
ulStreamDWORDin言語を問い合わせるサブピクチャストリーム番号(0基点)を指定する。
pLanguageDWORD*out対象ストリームの言語コード(LCID)を受け取るDWORDへのポインタ。
vtbl 15 HRESULT GetTitleAttributes(DWORD ulTitle, DVD_MenuAttributes* pMenu, DVD_TitleAttributes* pTitle)
ulTitleDWORDin属性を取得するタイトル番号。現在のタイトルには0xFFFFFFFFを指定する。
pMenuDVD_MenuAttributes*outタイトルに属するメニューの属性を受け取るDVD_MenuAttributes構造体へのポインタ。
pTitleDVD_TitleAttributes*outタイトル自体の映像・音声・サブピクチャ属性を受け取るDVD_TitleAttributes構造体へのポインタ。
vtbl 16 HRESULT GetVMGAttributes(DVD_MenuAttributes* pATR)
pATRDVD_MenuAttributes*outビデオマネージャ(VMG)メニューの属性を受け取るDVD_MenuAttributes構造体へのポインタ。
vtbl 17 HRESULT GetCurrentVideoAttributes(DVD_VideoAttributes* pATR)
pATRDVD_VideoAttributes*out現在の映像属性(解像度・アスペクト比等)を受け取るDVD_VideoAttributes構造体へのポインタ。
vtbl 18 HRESULT GetAudioAttributes(DWORD ulStream, DVD_AudioAttributes* pATR)
ulStreamDWORDin属性を取得する音声ストリーム番号を指定する。
pATRDVD_AudioAttributes*out対象音声ストリームの属性を受け取るDVD_AudioAttributes構造体へのポインタ。
vtbl 19 HRESULT GetKaraokeAttributes(DWORD ulStream, DVD_KaraokeAttributes* pAttributes)
ulStreamDWORDin属性を取得するカラオケ音声ストリーム番号を指定する。
pAttributesDVD_KaraokeAttributes*out対象ストリームのカラオケ属性を受け取るDVD_KaraokeAttributes構造体へのポインタ。
vtbl 20 HRESULT GetSubpictureAttributes(DWORD ulStream, DVD_SubpictureAttributes* pATR)
ulStreamDWORDin属性を取得するサブピクチャストリーム番号を指定する。
pATRDVD_SubpictureAttributes*out対象サブピクチャストリームの属性を受け取るDVD_SubpictureAttributes構造体へのポインタ。
vtbl 21 HRESULT GetDVDVolumeInfo(DWORD* pulNumOfVolumes, DWORD* pulVolume, DVD_DISC_SIDE* pSide, DWORD* pulNumOfTitles)
pulNumOfVolumesDWORD*outボリュームセット内のボリューム総数を受け取るDWORDへのポインタ。
pulVolumeDWORD*out現在のボリューム番号を受け取るDWORDへのポインタ。
pSideDVD_DISC_SIDE*out現在のディスク面(A面/B面)を示すDVD_DISC_SIDE列挙体へのポインタ。
pulNumOfTitlesDWORD*outボリューム内のタイトル総数を受け取るDWORDへのポインタ。
vtbl 22 HRESULT GetDVDTextNumberOfLanguages(DWORD* pulNumOfLangs)
pulNumOfLangsDWORD*outDVDテキスト情報に含まれる言語数を受け取るDWORDへのポインタ。
vtbl 23 HRESULT GetDVDTextLanguageInfo(DWORD ulLangIndex, DWORD* pulNumOfStrings, DWORD* pLangCode, DVD_TextCharSet* pbCharacterSet)
ulLangIndexDWORDin情報を取得する言語のインデックス(0基点)を指定する。
pulNumOfStringsDWORD*outその言語に含まれるテキスト文字列数を受け取るDWORDへのポインタ。
pLangCodeDWORD*outその言語の言語コードを受け取るDWORDへのポインタ。
pbCharacterSetDVD_TextCharSet*outその言語の文字セット種別を受け取るDVD_TextCharSet列挙体へのポインタ。
vtbl 24 HRESULT GetDVDTextStringAsNative(DWORD ulLangIndex, DWORD ulStringIndex, BYTE* pbBuffer, DWORD ulMaxBufferSize, DWORD* pulActualSize, DVD_TextStringType* pType)
ulLangIndexDWORDin取得対象の言語インデックス(0基点)を指定する。
ulStringIndexDWORDin取得対象の文字列インデックス(0基点)を指定する。
pbBufferBYTE*outネイティブ文字エンコードのまま文字列を受け取る出力バッファへのBYTEポインタ。
ulMaxBufferSizeDWORDinpbBufferのサイズをバイト単位で指定する。
pulActualSizeDWORD*out実際に書き込まれたバイト数を受け取るDWORDへのポインタ。
pTypeDVD_TextStringType*out取得した文字列の種別(タイトル名等)を示すDVD_TextStringType列挙体へのポインタ。
vtbl 25 HRESULT GetDVDTextStringAsUnicode(DWORD ulLangIndex, DWORD ulStringIndex, LPWSTR pchwBuffer, DWORD ulMaxBufferSize, DWORD* pulActualSize, DVD_TextStringType* pType)
ulLangIndexDWORDin取得対象の言語インデックス(0基点)を指定する。
ulStringIndexDWORDin取得対象の文字列インデックス(0基点)を指定する。
pchwBufferLPWSTRoutUnicodeに変換した文字列を受け取る出力ワイド文字バッファ。
ulMaxBufferSizeDWORDinpchwBufferのサイズを文字数で指定する。
pulActualSizeDWORD*out実際に書き込まれた文字数を受け取るDWORDへのポインタ。
pTypeDVD_TextStringType*out取得した文字列の種別を示すDVD_TextStringType列挙体へのポインタ。
vtbl 26 HRESULT GetPlayerParentalLevel(DWORD* pulParentalLevel, BYTE* pbCountryCode)
pulParentalLevelDWORD*outプレーヤーの視聴制限レベル(1〜8)を受け取るDWORDへのポインタ。
pbCountryCodeBYTE*outプレーヤーの国コード(2バイト)を受け取るBYTE配列へのポインタ。
vtbl 27 HRESULT GetNumberOfChapters(DWORD ulTitle, DWORD* pulNumOfChapters)
ulTitleDWORDinチャプタ数を問い合わせるタイトル番号を指定する。
pulNumOfChaptersDWORD*out対象タイトル内のチャプタ総数を受け取るDWORDへのポインタ。
vtbl 28 HRESULT GetTitleParentalLevels(DWORD ulTitle, DWORD* pulParentalLevels)
ulTitleDWORDin視聴制限レベルを問い合わせるタイトル番号を指定する。
pulParentalLevelsDWORD*out対象タイトルがサポートする視聴制限レベルのビットマスクを受け取るDWORDへのポインタ。
vtbl 29 HRESULT GetDVDDirectory(LPWSTR pszwPath, DWORD ulMaxSize, DWORD* pulActualSize)
pszwPathLPWSTRout現在のDVDディレクトリパスを受け取る出力ワイド文字バッファ。
ulMaxSizeDWORDinpszwPathバッファのサイズを文字数で指定する。
pulActualSizeDWORD*out実際に書き込まれた文字数を受け取るDWORDへのポインタ。
vtbl 30 HRESULT IsAudioStreamEnabled(DWORD ulStreamNum, BOOL* pbEnabled)
ulStreamNumDWORDin有効状態を問い合わせる音声ストリーム番号を指定する。
pbEnabledBOOL*out対象ストリームが有効か否かを受け取るBOOLへのポインタ。TRUEで有効。
vtbl 31 HRESULT GetDiscID(LPWSTR pszwPath, ULONGLONG* pullDiscID)
pszwPathLPWSTRinIDを取得するDVDのパスを指すワイド文字列。NULLで現在のディスク。
pullDiscIDULONGLONG*outディスクの一意な64ビットIDを受け取るULONGLONGへのポインタ。
vtbl 32 HRESULT GetState(IDvdState** pStateData)
pStateDataIDvdState**out現在の再生状態を保持するIDvdStateオブジェクトを受け取る出力ポインタ。
vtbl 33 HRESULT GetMenuLanguages(DWORD* pLanguages, DWORD ulMaxLanguages, DWORD* pulActualLanguages)
pLanguagesDWORD*out利用可能なメニュー言語コードを受け取るDWORD配列へのポインタ。
ulMaxLanguagesDWORDinpLanguages配列に格納可能な要素数を指定する。
pulActualLanguagesDWORD*out実際に格納された言語数を受け取るDWORDへのポインタ。
vtbl 34 HRESULT GetButtonAtPosition(POINT point, DWORD* pulButtonIndex)
pointPOINTinボタンを判定する画面座標を示すPOINT構造体。
pulButtonIndexDWORD*outその座標に位置するボタンのインデックスを受け取るDWORDへのポインタ。
vtbl 35 HRESULT GetCmdFromEvent(INT_PTR lParam1, IDvdCmd** pCmdObj)
lParam1INT_PTRinDVDイベント通知のlParam1値を指定し、対応するコマンドを特定する。
pCmdObjIDvdCmd**outイベントに対応するIDvdCmdオブジェクトを受け取る出力ポインタ。
vtbl 36 HRESULT GetDefaultMenuLanguage(DWORD* pLanguage)
pLanguageDWORD*out既定のメニュー言語コード(LCID)を受け取るDWORDへのポインタ。
vtbl 37 HRESULT GetDefaultAudioLanguage(DWORD* pLanguage, DVD_AUDIO_LANG_EXT* pAudioExtension)
pLanguageDWORD*out既定の音声言語コード(LCID)を受け取るDWORDへのポインタ。
pAudioExtensionDVD_AUDIO_LANG_EXT*out既定音声言語の用途拡張を示すDVD_AUDIO_LANG_EXT列挙体へのポインタ。
vtbl 38 HRESULT GetDefaultSubpictureLanguage(DWORD* pLanguage, DVD_SUBPICTURE_LANG_EXT* pSubpictureExtension)
pLanguageDWORD*out既定のサブピクチャ言語コード(LCID)を受け取るDWORDへのポインタ。
pSubpictureExtensionDVD_SUBPICTURE_LANG_EXT*out既定字幕言語の用途拡張を示すDVD_SUBPICTURE_LANG_EXT列挙体へのポインタ。
vtbl 39 HRESULT GetDecoderCaps(DVD_DECODER_CAPS* pCaps)
pCapsDVD_DECODER_CAPS*outDVDデコーダの能力情報を受け取るDVD_DECODER_CAPS構造体へのポインタ。
vtbl 40 HRESULT GetButtonRect(DWORD ulButton, RECT* pRect)
ulButtonDWORDin矩形を取得するボタン番号(1基点)を指定する。
pRectRECT*out対象ボタンの画面上の境界矩形を受け取るRECT構造体へのポインタ。
vtbl 41 HRESULT IsSubpictureStreamEnabled(DWORD ulStreamNum, BOOL* pbEnabled)
ulStreamNumDWORDin有効状態を問い合わせるサブピクチャストリーム番号を指定する。
pbEnabledBOOL*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 指定が可能。