IMFMediaEngineEx
COM公式ドキュメント
IMFMediaEngine インターフェイスを拡張します。
解説(Remarks)
IMFMediaEngine インターフェイスには、HTML5 のメディア要素に対応するメソッドが含まれています。IMFMediaEngineEx は、HTML5 に直接対応しない追加機能を提供します。
メソッド 37
vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。
バイトストリームからメディアリソースを開きます。
| pByteStream | IMFByteStream* | in | バイトストリームの IMFByteStream インターフェイスへのポインター。 |
| pURL | LPWSTR | in | バイトストリームの URL。 |
戻り値
このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。
Media Engine から再生統計情報を取得します。
| StatisticID | MF_MEDIA_ENGINE_STATISTIC | in | 取得する統計情報を識別する MF_MEDIA_ENGINE_STATISTIC 列挙型のメンバー。 |
| pStatistic | PROPVARIANT* | out | 統計情報を受け取る PROPVARIANT へのポインター。この値のデータ型と意味は StatisticID の値によって異なります。呼び出し元は PropVariantClear を呼び出して PROPVARIANT を解放する必要があります。 |
戻り値
このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。
ビデオのソース矩形、宛先矩形、および境界色を更新します。
| pSrc | MFVideoNormalizedRect* | inoptional | ソース矩形を指定する MFVideoNormalizedRect 構造体へのポインター。ソース矩形は、表示されるビデオフレームの領域を定義します。このパラメーターが NULL の場合、ビデオフレーム全体が表示されます。 |
| pDst | RECT* | inoptional | 宛先矩形を指定する RECT 構造体へのポインター。宛先矩形は、ビデオが描画されるウィンドウまたは DirectComposition ビジュアルの領域を定義します。 |
| pBorderClr | MFARGB* | inoptional | 境界色を指定する MFARGB 構造体へのポインター。 |
戻り値
このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。
解説(Remarks)
レンダリングモードでは、ビデオの位置を変更したり、境界色を更新したり、ビデオフレームを再描画したりするためにこのメソッドを呼び出します。すべてのパラメーターが NULL の場合、このメソッドは最新のビデオフレームを再描画します。
フレームサーバーモードでは、このメソッドは効果を持ちません。
Video Processor MFT におけるソース矩形および宛先矩形については、Video Processor MFT を参照してください。
オーディオバランスを取得します。
戻り値
バランスを返します。値は次の範囲内(両端を含む)の任意の数値になります。
| 戻り値 | 説明 |
|---|---|
|
左チャンネルが最大音量で、右チャンネルは無音です。 |
|
右チャンネルが最大音量で、左チャンネルは無音です。 |
値が 0 の場合、左右のチャンネルは等しい音量になります。既定値は 0 です。
オーディオバランスを設定します。(IMFMediaEngineEx.SetBalance)
| balance | DOUBLE | in | オーディオバランス。値は次の範囲内(両端を含む)の任意の数値になります。
値が 0 の場合、左右のチャンネルは等しい音量になります。既定値は 0 です。 |
戻り値
このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。
解説(Remarks)
オーディオバランスが変化すると、Media Engine は MF_MEDIA_ENGINE_EVENT_BALANCECHANGE イベントを送信します。IMFMediaEventNotify::EventNotify を参照してください。
Media Engine が指定した再生速度で再生できるかどうかを照会します。
| rate | DOUBLE | in | 要求する再生速度。 |
戻り値
再生速度がサポートされている場合は TRUE を、それ以外の場合は FALSE を返します。
解説(Remarks)
再生速度は、現在の速度と通常速度の比率として表されます。たとえば、1.0 は通常の再生速度、0.5 は半分の速度、2.0 は 2 倍の速度です。正の値は順方向再生を、負の値は逆方向再生を意味します。
このメソッドの結果は、現在読み込まれているメディアリソースによって異なる場合があります。一部のメディア形式は、他の形式よりも高速な再生速度をサポートする場合があります。また、一部の形式は逆方向再生をサポートしない場合があります。
1 フレーム分だけ前方または後方に進めます。
| Forward | BOOL | in | 前方に進めるには TRUE を、後方に進めるには FALSE を指定します。 |
戻り値
このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。
解説(Remarks)
フレームステップの方向は、現在の再生方向とは独立しています。
このメソッドは非同期に完了します。操作が完了すると、Media Engine は MF_MEDIA_ENGINE_EVENT_FRAMESTEPCOMPLETED イベントを送信し、一時停止状態に入ります。
メディアリソースを説明するさまざまなフラグを取得します。
| pCharacteristics | DWORD* | out | MFMEDIASOURCE_CHARACTERISTICS 列挙型の 0 個以上のフラグのビットごとの OR を受け取ります。 |
戻り値
このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。
メディアリソースからプレゼンテーション属性を取得します。
| guidMFAttribute | GUID* | in | 照会する属性。 プレゼンテーション属性の一覧については、Presentation Descriptor Attributes を参照してください。 |
| pvValue | PROPVARIANT* | out | 値を受け取る PROPVARIANT へのポインター。このメソッドは、格納された値のコピーで PROPVARIANT を埋めます。呼び出し元は PropVariantClear を呼び出して PROPVARIANT を解放する必要があります。 |
戻り値
このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。
メディアリソース内のストリーム数を取得します。
| pdwStreamCount | DWORD* | out | ストリーム数を受け取ります。 |
戻り値
このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。
メディアリソースからストリームレベルの属性を取得します。
| dwStreamIndex | DWORD | in | ストリームの 0 から始まるインデックス。ストリーム数を取得するには、IMFMediaEngineEx::GetNumberOfStreams を呼び出します。 |
| guidMFAttribute | GUID* | in | 照会する属性。指定可能な値は次のトピックに記載されています。 |
| pvValue | PROPVARIANT* | out | 値を受け取る PROPVARIANT へのポインター。このメソッドは、格納された値のコピーで PROPVARIANT を埋めます。このメソッドによって割り当てられたメモリを解放するには、PropVariantClear を呼び出します。 |
戻り値
このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。
ストリームが再生対象として選択されているかどうかを照会します。(IMFMediaEngineEx.GetStreamSelection)
| dwStreamIndex | DWORD | in | ストリームの 0 から始まるインデックス。ストリーム数を取得するには、IMFMediaEngineEx::GetNumberOfStreams を呼び出します。 | ||||||
| pEnabled | BOOL* | out | ブール値を受け取ります。
|
戻り値
このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。
再生対象としてストリームを選択または選択解除します。
| dwStreamIndex | DWORD | in | ストリームの 0 から始まるインデックス。ストリーム数を取得するには、IMFMediaEngineEx::GetNumberOfStreams を呼び出します。 | ||||||
| Enabled | BOOL | in | ストリームを選択するか選択解除するかを指定します。
|
戻り値
このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。
以前の SetStreamSelection の呼び出しによるストリーム選択を適用します。
戻り値
このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。
メディアリソースに保護されたコンテンツが含まれているかどうかを照会します。
| pProtected | BOOL* | out | メディアリソースに保護されたコンテンツが含まれている場合は TRUE、それ以外の場合は FALSE を受け取ります。 |
戻り値
このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。
ビデオエフェクトを挿入します。
| pEffect | IUnknown* | in | 次のいずれか。
| ||||||
| fOptional | BOOL | in | エフェクトが省略可能かどうかを指定します。
|
戻り値
このメソッドは次のいずれかの値を返すことがあります。
| 戻りコード | 説明 |
|---|---|
| 成功しました。 | |
| ビデオエフェクトの最大数に達しました。 |
解説(Remarks)
このエフェクトは、次のメディアリソースが読み込まれたときに適用されます。
オーディオエフェクトを挿入します。
| pEffect | IUnknown* | in | 次のいずれか。
| ||||||
| fOptional | BOOL | in | エフェクトが省略可能かどうかを指定します。
|
戻り値
このメソッドは次のいずれかの値を返すことがあります。
| 戻りコード | 説明 |
|---|---|
| 成功しました。 | |
| オーディオエフェクトの最大数に達しました。 |
解説(Remarks)
このエフェクトは、次のメディアリソースが読み込まれたときに適用されます。
すべてのオーディオエフェクトおよびビデオエフェクトを削除します。
戻り値
このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。
解説(Remarks)
InsertAudioEffect メソッドおよび InsertVideoEffect メソッドで追加されたすべてのエフェクトを削除するには、このメソッドを呼び出します。
Media Engine がマーカーイベントを送信するプレゼンテーション時間を指定します。
| timeToFire | DOUBLE | in | マーカーイベントのプレゼンテーション時間(秒単位)。 |
戻り値
このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。
解説(Remarks)
再生が timeToFire で指定された時間に達すると、Media Engine は IMFMediaEngineNotify::EventNotify メソッドを通じて MF_MEDIA_ENGINE_EVENT_TIMELINE_MARKER イベントを送信します。このメソッドを呼び出すと、まだ保留中の以前のマーカーはすべてキャンセルされます。
アプリケーションがマーカーポイントを越えてシークした場合、Media Engine はマーカーをキャンセルし、イベントを送信しません。
順方向再生中は、timeToFire に現在の再生位置より大きい値を設定します。逆方向再生中は、timeToFire に再生位置より小さい値を設定します。
マーカーをキャンセルするには、IMFMediaEngineEx::CancelTimelineMarkerTimer を呼び出します。
次のタイムラインマーカーがあれば、その時刻を取得します。
| pTimeToFire | DOUBLE* | out | マーカー時刻(秒単位)を受け取ります。マーカーが設定されていない場合、このパラメーターは値 NaN を受け取ります。 |
戻り値
このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。
次の保留中のタイムラインマーカーをキャンセルします。
戻り値
このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。
解説(Remarks)
IMFMediaEngineEx::SetTimelineMarkerTimer メソッドをキャンセルするには、このメソッドを呼び出します。
メディアリソースにステレオスコピック 3D ビデオが含まれているかどうかを照会します。
戻り値
メディアリソースに 3D ビデオが含まれている場合は TRUE を、それ以外の場合は FALSE を返します。
ステレオスコピック 3D ビデオについて、ビデオフレーム内の 2 つのビューのレイアウトを取得します。
| packMode | MF_MEDIA_ENGINE_S3D_PACKING_MODE* | out | MF_MEDIA_ENGINE_S3D_PACKING_MODE 列挙型のメンバーを受け取ります。 |
戻り値
このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。
ステレオスコピック 3D ビデオについて、ビデオフレーム内の 2 つのビューのレイアウトを設定します。
| packMode | MF_MEDIA_ENGINE_S3D_PACKING_MODE | in | レイアウトを指定する MF_MEDIA_ENGINE_S3D_PACKING_MODE 列挙型のメンバー。2 つのビューは、左右に並べる、または上下に並べる配置にできます。 |
戻り値
このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。
ステレオスコピック 3D ビデオについて、Media Engine が 3D ビデオコンテンツをどのようにレンダリングするかを照会します。
| outputType | MF3DVideoOutputType* | out | MF3DVideoOutputType 列挙型のメンバーを受け取ります。 |
戻り値
このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。
ステレオスコピック 3D ビデオについて、Media Engine が 3D ビデオコンテンツをどのようにレンダリングするかを指定します。
| outputType | MF3DVideoOutputType | in | 3D ビデオレンダリングモードを指定する MF3DVideoOutputType 列挙型のメンバー。 |
戻り値
このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。
ウィンドウレススワップチェーンモードを有効または無効にします。
| fEnable | BOOL | in | TRUE の場合、ウィンドウレススワップチェーンモードが有効になります。 |
戻り値
このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。
解説(Remarks)
ウィンドウレススワップチェーンモードでは、Media Engine はウィンドウレススワップチェーンを作成し、ビデオフレームをスワップチェーンに提示します。ビデオをレンダリングするには、IMFMediaEngineEx::GetVideoSwapchainHandle を呼び出してスワップチェーンへのハンドルを取得し、そのハンドルを Microsoft DirectComposition ビジュアルに関連付けます。
ウィンドウレススワップチェーンへのハンドルを取得します。
| phSwapchain | HANDLE* | out | スワップチェーンへのハンドルを受け取ります。 |
戻り値
このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。
解説(Remarks)
ウィンドウレススワップチェーンモードを有効にするには、IMFMediaEngineEx::EnableWindowlessSwapchainMode を呼び出します。
ビデオのミラーリングを有効または無効にします。
| fEnable | BOOL | in | TRUE の場合、ビデオは水平方向にミラーリングされます。それ以外の場合、ビデオは通常どおり表示されます。 |
戻り値
このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。
次回の SetSource または Load の呼び出しで使用されるオーディオストリームカテゴリを取得します。
| pCategory | DWORD* | out | オーディオストリームカテゴリを受け取ります。 |
戻り値
このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。
解説(Remarks)
オーディオストリームカテゴリについては、AUDIO_STREAM_CATEGORY 列挙型を参照してください。
次回の SetSource または Load の呼び出しで使用されるオーディオストリームカテゴリを設定します。
| category | DWORD | in | 設定する音声ストリームカテゴリを示すDWORD。AUDIO_STREAM_CATEGORY値。 |
戻り値
このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。
解説(Remarks)
オーディオストリームカテゴリについては、AUDIO_STREAM_CATEGORY 列挙型を参照してください。
次回の SetSource または Load の呼び出しで使用されるオーディオデバイスエンドポイントロールを取得します。
| pRole | DWORD* | out | オーディオエンドポイントロールを受け取ります。 |
戻り値
このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。
解説(Remarks)
オーディオエンドポイントロールについては、ERole 列挙型を参照してください。
次回の SetSource または Load の呼び出しで使用されるオーディオデバイスエンドポイントを設定します。
| role | DWORD | in | オーディオエンドポイントロールを指定します。 |
戻り値
このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。
解説(Remarks)
オーディオエンドポイントロールについては、ERole 列挙型を参照してください。
次回の SetSource または Load の呼び出しで使用されるリアルタイムモードを取得します。
| pfEnabled | BOOL* | out | リアルタイムモードを受け取ります。 |
戻り値
このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。
次回の SetSource または Load の呼び出しで使用されるリアルタイムモードを設定します。
| fEnable | BOOL | in | リアルタイムモードを指定します。 |
戻り値
このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。
指定した MF_MEDIA_ENGINE_SEEK_MODE を使用して、新しい再生位置にシークします。
| seekTime | DOUBLE | in | 新しい再生位置(秒単位)。 |
| seekMode | MF_MEDIA_ENGINE_SEEK_MODE | in | シークが通常のシークか近似シークかを指定します。 |
戻り値
このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。
時刻更新タイマーを有効または無効にします。
| fEnableTimer | BOOL | in | TRUE の場合、更新タイマーが有効になります。それ以外の場合、タイマーは無効になります。 |
戻り値
このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)
HSP用 COM定義
#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"。
#define global IID_IMFMediaEngineEx "{83015EAD-B1E6-40D0-A98A-37145FFE1AD1}" #usecom global IMFMediaEngineEx IID_IMFMediaEngineEx "{}" #comfunc global IMFMediaEngineEx_SetSourceFromByteStream 45 sptr,wstr #comfunc global IMFMediaEngineEx_GetStatistics 46 int,var #comfunc global IMFMediaEngineEx_UpdateVideoStream 47 var,var,var #comfunc global IMFMediaEngineEx_GetBalance 48 #comfunc global IMFMediaEngineEx_SetBalance 49 double #comfunc global IMFMediaEngineEx_IsPlaybackRateSupported 50 double #comfunc global IMFMediaEngineEx_FrameStep 51 int #comfunc global IMFMediaEngineEx_GetResourceCharacteristics 52 var #comfunc global IMFMediaEngineEx_GetPresentationAttribute 53 var,var #comfunc global IMFMediaEngineEx_GetNumberOfStreams 54 var #comfunc global IMFMediaEngineEx_GetStreamAttribute 55 int,var,var #comfunc global IMFMediaEngineEx_GetStreamSelection 56 int,var #comfunc global IMFMediaEngineEx_SetStreamSelection 57 int,int #comfunc global IMFMediaEngineEx_ApplyStreamSelections 58 #comfunc global IMFMediaEngineEx_IsProtected 59 var #comfunc global IMFMediaEngineEx_InsertVideoEffect 60 sptr,int #comfunc global IMFMediaEngineEx_InsertAudioEffect 61 sptr,int #comfunc global IMFMediaEngineEx_RemoveAllEffects 62 #comfunc global IMFMediaEngineEx_SetTimelineMarkerTimer 63 double #comfunc global IMFMediaEngineEx_GetTimelineMarkerTimer 64 var #comfunc global IMFMediaEngineEx_CancelTimelineMarkerTimer 65 #comfunc global IMFMediaEngineEx_IsStereo3D 66 #comfunc global IMFMediaEngineEx_GetStereo3DFramePackingMode 67 var #comfunc global IMFMediaEngineEx_SetStereo3DFramePackingMode 68 int #comfunc global IMFMediaEngineEx_GetStereo3DRenderMode 69 var #comfunc global IMFMediaEngineEx_SetStereo3DRenderMode 70 int #comfunc global IMFMediaEngineEx_EnableWindowlessSwapchainMode 71 int #comfunc global IMFMediaEngineEx_GetVideoSwapchainHandle 72 sptr #comfunc global IMFMediaEngineEx_EnableHorizontalMirrorMode 73 int #comfunc global IMFMediaEngineEx_GetAudioStreamCategory 74 var #comfunc global IMFMediaEngineEx_SetAudioStreamCategory 75 int #comfunc global IMFMediaEngineEx_GetAudioEndpointRole 76 var #comfunc global IMFMediaEngineEx_SetAudioEndpointRole 77 int #comfunc global IMFMediaEngineEx_GetRealTimeMode 78 var #comfunc global IMFMediaEngineEx_SetRealTimeMode 79 int #comfunc global IMFMediaEngineEx_SetCurrentTimeEx 80 double,int #comfunc global IMFMediaEngineEx_EnableTimeUpdateTimer 81 int ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。#define global IID_IMFMediaEngineEx "{83015EAD-B1E6-40D0-A98A-37145FFE1AD1}" #usecom global IMFMediaEngineEx IID_IMFMediaEngineEx "{}" #comfunc global IMFMediaEngineEx_SetSourceFromByteStream 45 sptr,wstr #comfunc global IMFMediaEngineEx_GetStatistics 46 int,sptr #comfunc global IMFMediaEngineEx_UpdateVideoStream 47 sptr,sptr,sptr #comfunc global IMFMediaEngineEx_GetBalance 48 #comfunc global IMFMediaEngineEx_SetBalance 49 double #comfunc global IMFMediaEngineEx_IsPlaybackRateSupported 50 double #comfunc global IMFMediaEngineEx_FrameStep 51 int #comfunc global IMFMediaEngineEx_GetResourceCharacteristics 52 sptr #comfunc global IMFMediaEngineEx_GetPresentationAttribute 53 sptr,sptr #comfunc global IMFMediaEngineEx_GetNumberOfStreams 54 sptr #comfunc global IMFMediaEngineEx_GetStreamAttribute 55 int,sptr,sptr #comfunc global IMFMediaEngineEx_GetStreamSelection 56 int,sptr #comfunc global IMFMediaEngineEx_SetStreamSelection 57 int,int #comfunc global IMFMediaEngineEx_ApplyStreamSelections 58 #comfunc global IMFMediaEngineEx_IsProtected 59 sptr #comfunc global IMFMediaEngineEx_InsertVideoEffect 60 sptr,int #comfunc global IMFMediaEngineEx_InsertAudioEffect 61 sptr,int #comfunc global IMFMediaEngineEx_RemoveAllEffects 62 #comfunc global IMFMediaEngineEx_SetTimelineMarkerTimer 63 double #comfunc global IMFMediaEngineEx_GetTimelineMarkerTimer 64 sptr #comfunc global IMFMediaEngineEx_CancelTimelineMarkerTimer 65 #comfunc global IMFMediaEngineEx_IsStereo3D 66 #comfunc global IMFMediaEngineEx_GetStereo3DFramePackingMode 67 sptr #comfunc global IMFMediaEngineEx_SetStereo3DFramePackingMode 68 int #comfunc global IMFMediaEngineEx_GetStereo3DRenderMode 69 sptr #comfunc global IMFMediaEngineEx_SetStereo3DRenderMode 70 int #comfunc global IMFMediaEngineEx_EnableWindowlessSwapchainMode 71 int #comfunc global IMFMediaEngineEx_GetVideoSwapchainHandle 72 sptr #comfunc global IMFMediaEngineEx_EnableHorizontalMirrorMode 73 int #comfunc global IMFMediaEngineEx_GetAudioStreamCategory 74 sptr #comfunc global IMFMediaEngineEx_SetAudioStreamCategory 75 int #comfunc global IMFMediaEngineEx_GetAudioEndpointRole 76 sptr #comfunc global IMFMediaEngineEx_SetAudioEndpointRole 77 int #comfunc global IMFMediaEngineEx_GetRealTimeMode 78 sptr #comfunc global IMFMediaEngineEx_SetRealTimeMode 79 int #comfunc global IMFMediaEngineEx_SetCurrentTimeEx 80 double,int #comfunc global IMFMediaEngineEx_EnableTimeUpdateTimer 81 int ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数はポインタ方式(token=sptr / 呼び出しは varptr(変数))。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。