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

IMFMediaEngineEx

COM
IID83015ead-b1e6-40d0-a98a-37145ffe1ad1継承元IMFMediaEngine自前メソッド開始 vtbl45

公式ドキュメント

IMFMediaEngine インターフェイスを拡張します。

解説(Remarks)

IMFMediaEngine インターフェイスには、HTML5 のメディア要素に対応するメソッドが含まれています。IMFMediaEngineEx は、HTML5 に直接対応しない追加機能を提供します。

メソッド 37

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

vtbl 45 HRESULT SetSourceFromByteStream(IMFByteStream* pByteStream, LPWSTR pURL)

バイトストリームからメディアリソースを開きます。

pByteStreamIMFByteStream*inバイトストリームの IMFByteStream インターフェイスへのポインター。
pURLLPWSTRinバイトストリームの URL。

戻り値

このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。

vtbl 46 HRESULT GetStatistics(MF_MEDIA_ENGINE_STATISTIC StatisticID, PROPVARIANT* pStatistic)

Media Engine から再生統計情報を取得します。

StatisticIDMF_MEDIA_ENGINE_STATISTICin取得する統計情報を識別する MF_MEDIA_ENGINE_STATISTIC 列挙型のメンバー。
pStatisticPROPVARIANT*out統計情報を受け取る PROPVARIANT へのポインター。この値のデータ型と意味は StatisticID の値によって異なります。呼び出し元は PropVariantClear を呼び出して PROPVARIANT を解放する必要があります。

戻り値

このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。

vtbl 47 HRESULT UpdateVideoStream(MFVideoNormalizedRect* pSrc, RECT* pDst, MFARGB* pBorderClr)

ビデオのソース矩形、宛先矩形、および境界色を更新します。

pSrcMFVideoNormalizedRect*inoptionalソース矩形を指定する MFVideoNormalizedRect 構造体へのポインター。ソース矩形は、表示されるビデオフレームの領域を定義します。このパラメーターが NULL の場合、ビデオフレーム全体が表示されます。
pDstRECT*inoptional宛先矩形を指定する RECT 構造体へのポインター。宛先矩形は、ビデオが描画されるウィンドウまたは DirectComposition ビジュアルの領域を定義します。
pBorderClrMFARGB*inoptional境界色を指定する MFARGB 構造体へのポインター。

戻り値

このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。

解説(Remarks)

レンダリングモードでは、ビデオの位置を変更したり、境界色を更新したり、ビデオフレームを再描画したりするためにこのメソッドを呼び出します。すべてのパラメーターが NULL の場合、このメソッドは最新のビデオフレームを再描画します。

フレームサーバーモードでは、このメソッドは効果を持ちません。

Video Processor MFT におけるソース矩形および宛先矩形については、Video Processor MFT を参照してください。

vtbl 48 DOUBLE GetBalance()

オーディオバランスを取得します。

戻り値

バランスを返します。値は次の範囲内(両端を含む)の任意の数値になります。

戻り値 説明
-1
左チャンネルが最大音量で、右チャンネルは無音です。
1
右チャンネルが最大音量で、左チャンネルは無音です。

値が 0 の場合、左右のチャンネルは等しい音量になります。既定値は 0 です。

vtbl 49 HRESULT SetBalance(DOUBLE balance)

オーディオバランスを設定します。(IMFMediaEngineEx.SetBalance)

balanceDOUBLEin

オーディオバランス。値は次の範囲内(両端を含む)の任意の数値になります。

意味
-1
左チャンネルが最大音量で、右チャンネルは無音です。
1
右チャンネルが最大音量で、左チャンネルは無音です。

値が 0 の場合、左右のチャンネルは等しい音量になります。既定値は 0 です。

戻り値

このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。

解説(Remarks)

オーディオバランスが変化すると、Media Engine は MF_MEDIA_ENGINE_EVENT_BALANCECHANGE イベントを送信します。IMFMediaEventNotify::EventNotify を参照してください。

vtbl 50 BOOL IsPlaybackRateSupported(DOUBLE rate)

Media Engine が指定した再生速度で再生できるかどうかを照会します。

rateDOUBLEin要求する再生速度。

戻り値

再生速度がサポートされている場合は TRUE を、それ以外の場合は FALSE を返します。

解説(Remarks)

再生速度は、現在の速度と通常速度の比率として表されます。たとえば、1.0 は通常の再生速度、0.5 は半分の速度、2.0 は 2 倍の速度です。正の値は順方向再生を、負の値は逆方向再生を意味します。

このメソッドの結果は、現在読み込まれているメディアリソースによって異なる場合があります。一部のメディア形式は、他の形式よりも高速な再生速度をサポートする場合があります。また、一部の形式は逆方向再生をサポートしない場合があります。

vtbl 51 HRESULT FrameStep(BOOL Forward)

1 フレーム分だけ前方または後方に進めます。

ForwardBOOLin前方に進めるには TRUE を、後方に進めるには FALSE を指定します。

戻り値

このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。

解説(Remarks)

フレームステップの方向は、現在の再生方向とは独立しています。

このメソッドは非同期に完了します。操作が完了すると、Media Engine は MF_MEDIA_ENGINE_EVENT_FRAMESTEPCOMPLETED イベントを送信し、一時停止状態に入ります。

vtbl 52 HRESULT GetResourceCharacteristics(DWORD* pCharacteristics)

メディアリソースを説明するさまざまなフラグを取得します。

pCharacteristicsDWORD*outMFMEDIASOURCE_CHARACTERISTICS 列挙型の 0 個以上のフラグのビットごとの OR を受け取ります。

戻り値

このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。

vtbl 53 HRESULT GetPresentationAttribute(GUID* guidMFAttribute, PROPVARIANT* pvValue)

メディアリソースからプレゼンテーション属性を取得します。

guidMFAttributeGUID*in

照会する属性。

プレゼンテーション属性の一覧については、Presentation Descriptor Attributes を参照してください。

pvValuePROPVARIANT*out値を受け取る PROPVARIANT へのポインター。このメソッドは、格納された値のコピーで PROPVARIANT を埋めます。呼び出し元は PropVariantClear を呼び出して PROPVARIANT を解放する必要があります。

戻り値

このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。

vtbl 54 HRESULT GetNumberOfStreams(DWORD* pdwStreamCount)

メディアリソース内のストリーム数を取得します。

pdwStreamCountDWORD*outストリーム数を受け取ります。

戻り値

このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。

vtbl 55 HRESULT GetStreamAttribute(DWORD dwStreamIndex, GUID* guidMFAttribute, PROPVARIANT* pvValue)

メディアリソースからストリームレベルの属性を取得します。

dwStreamIndexDWORDinストリームの 0 から始まるインデックス。ストリーム数を取得するには、IMFMediaEngineEx::GetNumberOfStreams を呼び出します。
guidMFAttributeGUID*in

照会する属性。指定可能な値は次のトピックに記載されています。

pvValuePROPVARIANT*out値を受け取る PROPVARIANT へのポインター。このメソッドは、格納された値のコピーで PROPVARIANT を埋めます。このメソッドによって割り当てられたメモリを解放するには、PropVariantClear を呼び出します。

戻り値

このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。

vtbl 56 HRESULT GetStreamSelection(DWORD dwStreamIndex, BOOL* pEnabled)

ストリームが再生対象として選択されているかどうかを照会します。(IMFMediaEngineEx.GetStreamSelection)

dwStreamIndexDWORDinストリームの 0 から始まるインデックス。ストリーム数を取得するには、IMFMediaEngineEx::GetNumberOfStreams を呼び出します。
pEnabledBOOL*out

ブール値を受け取ります。

意味
TRUE
ストリームが選択されています。再生中、このストリームは再生されます。
FALSE
ストリームは選択されていません。再生中、このストリームは再生されません。

戻り値

このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。

vtbl 57 HRESULT SetStreamSelection(DWORD dwStreamIndex, BOOL Enabled)

再生対象としてストリームを選択または選択解除します。

dwStreamIndexDWORDinストリームの 0 から始まるインデックス。ストリーム数を取得するには、IMFMediaEngineEx::GetNumberOfStreams を呼び出します。
EnabledBOOLin

ストリームを選択するか選択解除するかを指定します。

意味
TRUE
ストリームが選択されています。再生中、このストリームは再生されます。
FALSE
ストリームは選択されていません。再生中、このストリームは再生されません。

戻り値

このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。

vtbl 58 HRESULT ApplyStreamSelections()

以前の SetStreamSelection の呼び出しによるストリーム選択を適用します。

戻り値

このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。

vtbl 59 HRESULT IsProtected(BOOL* pProtected)

メディアリソースに保護されたコンテンツが含まれているかどうかを照会します。

pProtectedBOOL*outメディアリソースに保護されたコンテンツが含まれている場合は TRUE、それ以外の場合は FALSE を受け取ります。

戻り値

このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。

vtbl 60 HRESULT InsertVideoEffect(IUnknown* pEffect, BOOL fOptional)

ビデオエフェクトを挿入します。

pEffectIUnknown*in

次のいずれか。

  • ビデオエフェクトを実装する Media Foundation トランスフォーム(MFT)の IMFTransform インターフェイスへのポインター。
  • アクティベーションオブジェクトの IMFActivate インターフェイスへのポインター。アクティベーションオブジェクトは、ビデオエフェクト用の MFT を作成する必要があります。
fOptionalBOOLin

エフェクトが省略可能かどうかを指定します。

意味
TRUE
エフェクトは省略可能です。Media Engine がエフェクトを追加できない場合、そのエフェクトを無視して再生を続行します。
FALSE
エフェクトは必須です。Media Engine オブジェクトがエフェクトを追加できない場合、再生エラーが発生します。

戻り値

このメソッドは次のいずれかの値を返すことがあります。

戻りコード 説明
S_OK
成功しました。
MF_E_INVALIDREQUEST
ビデオエフェクトの最大数に達しました。

解説(Remarks)

このエフェクトは、次のメディアリソースが読み込まれたときに適用されます。

vtbl 61 HRESULT InsertAudioEffect(IUnknown* pEffect, BOOL fOptional)

オーディオエフェクトを挿入します。

pEffectIUnknown*in

次のいずれか。

  • オーディオエフェクトを実装する Media Foundation トランスフォーム(MFT)の IMFTransform インターフェイスへのポインター。
  • アクティベーションオブジェクトの IMFActivate インターフェイスへのポインター。アクティベーションオブジェクトは、オーディオエフェクト用の MFT を作成する必要があります。
fOptionalBOOLin

エフェクトが省略可能かどうかを指定します。

意味
TRUE
エフェクトは省略可能です。Media Engine がエフェクトを追加できない場合、そのエフェクトを無視して再生を続行します。
FALSE
エフェクトは必須です。Media Engine オブジェクトがエフェクトを追加できない場合、再生エラーが発生します。

戻り値

このメソッドは次のいずれかの値を返すことがあります。

戻りコード 説明
S_OK
成功しました。
MF_E_INVALIDREQUEST
オーディオエフェクトの最大数に達しました。

解説(Remarks)

このエフェクトは、次のメディアリソースが読み込まれたときに適用されます。

vtbl 62 HRESULT RemoveAllEffects()

すべてのオーディオエフェクトおよびビデオエフェクトを削除します。

戻り値

このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。

解説(Remarks)

InsertAudioEffect メソッドおよび InsertVideoEffect メソッドで追加されたすべてのエフェクトを削除するには、このメソッドを呼び出します。

vtbl 63 HRESULT SetTimelineMarkerTimer(DOUBLE timeToFire)

Media Engine がマーカーイベントを送信するプレゼンテーション時間を指定します。

timeToFireDOUBLEinマーカーイベントのプレゼンテーション時間(秒単位)。

戻り値

このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。

解説(Remarks)

再生が timeToFire で指定された時間に達すると、Media Engine は IMFMediaEngineNotify::EventNotify メソッドを通じて MF_MEDIA_ENGINE_EVENT_TIMELINE_MARKER イベントを送信します。このメソッドを呼び出すと、まだ保留中の以前のマーカーはすべてキャンセルされます。

アプリケーションがマーカーポイントを越えてシークした場合、Media Engine はマーカーをキャンセルし、イベントを送信しません。

順方向再生中は、timeToFire に現在の再生位置より大きい値を設定します。逆方向再生中は、timeToFire に再生位置より小さい値を設定します。

マーカーをキャンセルするには、IMFMediaEngineEx::CancelTimelineMarkerTimer を呼び出します。

vtbl 64 HRESULT GetTimelineMarkerTimer(DOUBLE* pTimeToFire)

次のタイムラインマーカーがあれば、その時刻を取得します。

pTimeToFireDOUBLE*outマーカー時刻(秒単位)を受け取ります。マーカーが設定されていない場合、このパラメーターは値 NaN を受け取ります。

戻り値

このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。

vtbl 65 HRESULT CancelTimelineMarkerTimer()

次の保留中のタイムラインマーカーをキャンセルします。

戻り値

このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。

解説(Remarks)

IMFMediaEngineEx::SetTimelineMarkerTimer メソッドをキャンセルするには、このメソッドを呼び出します。

vtbl 66 BOOL IsStereo3D()

メディアリソースにステレオスコピック 3D ビデオが含まれているかどうかを照会します。

戻り値

メディアリソースに 3D ビデオが含まれている場合は TRUE を、それ以外の場合は FALSE を返します。

vtbl 67 HRESULT GetStereo3DFramePackingMode(MF_MEDIA_ENGINE_S3D_PACKING_MODE* packMode)

ステレオスコピック 3D ビデオについて、ビデオフレーム内の 2 つのビューのレイアウトを取得します。

packModeMF_MEDIA_ENGINE_S3D_PACKING_MODE*outMF_MEDIA_ENGINE_S3D_PACKING_MODE 列挙型のメンバーを受け取ります。

戻り値

このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。

vtbl 68 HRESULT SetStereo3DFramePackingMode(MF_MEDIA_ENGINE_S3D_PACKING_MODE packMode)

ステレオスコピック 3D ビデオについて、ビデオフレーム内の 2 つのビューのレイアウトを設定します。

packModeMF_MEDIA_ENGINE_S3D_PACKING_MODEinレイアウトを指定する MF_MEDIA_ENGINE_S3D_PACKING_MODE 列挙型のメンバー。2 つのビューは、左右に並べる、または上下に並べる配置にできます。

戻り値

このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。

vtbl 69 HRESULT GetStereo3DRenderMode(MF3DVideoOutputType* outputType)

ステレオスコピック 3D ビデオについて、Media Engine が 3D ビデオコンテンツをどのようにレンダリングするかを照会します。

outputTypeMF3DVideoOutputType*outMF3DVideoOutputType 列挙型のメンバーを受け取ります。

戻り値

このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。

vtbl 70 HRESULT SetStereo3DRenderMode(MF3DVideoOutputType outputType)

ステレオスコピック 3D ビデオについて、Media Engine が 3D ビデオコンテンツをどのようにレンダリングするかを指定します。

outputTypeMF3DVideoOutputTypein3D ビデオレンダリングモードを指定する MF3DVideoOutputType 列挙型のメンバー。

戻り値

このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。

vtbl 71 HRESULT EnableWindowlessSwapchainMode(BOOL fEnable)

ウィンドウレススワップチェーンモードを有効または無効にします。

fEnableBOOLinTRUE の場合、ウィンドウレススワップチェーンモードが有効になります。

戻り値

このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。

解説(Remarks)

ウィンドウレススワップチェーンモードでは、Media Engine はウィンドウレススワップチェーンを作成し、ビデオフレームをスワップチェーンに提示します。ビデオをレンダリングするには、IMFMediaEngineEx::GetVideoSwapchainHandle を呼び出してスワップチェーンへのハンドルを取得し、そのハンドルを Microsoft DirectComposition ビジュアルに関連付けます。

vtbl 72 HRESULT GetVideoSwapchainHandle(HANDLE* phSwapchain)

ウィンドウレススワップチェーンへのハンドルを取得します。

phSwapchainHANDLE*outスワップチェーンへのハンドルを受け取ります。

戻り値

このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。

解説(Remarks)

ウィンドウレススワップチェーンモードを有効にするには、IMFMediaEngineEx::EnableWindowlessSwapchainMode を呼び出します。

vtbl 73 HRESULT EnableHorizontalMirrorMode(BOOL fEnable)

ビデオのミラーリングを有効または無効にします。

fEnableBOOLinTRUE の場合、ビデオは水平方向にミラーリングされます。それ以外の場合、ビデオは通常どおり表示されます。

戻り値

このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。

vtbl 74 HRESULT GetAudioStreamCategory(DWORD* pCategory)

次回の SetSource または Load の呼び出しで使用されるオーディオストリームカテゴリを取得します。

pCategoryDWORD*outオーディオストリームカテゴリを受け取ります。

戻り値

このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。

解説(Remarks)

オーディオストリームカテゴリについては、AUDIO_STREAM_CATEGORY 列挙型を参照してください。

vtbl 75 HRESULT SetAudioStreamCategory(DWORD category)

次回の SetSource または Load の呼び出しで使用されるオーディオストリームカテゴリを設定します。

categoryDWORDin設定する音声ストリームカテゴリを示すDWORD。AUDIO_STREAM_CATEGORY値。

戻り値

このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。

解説(Remarks)

オーディオストリームカテゴリについては、AUDIO_STREAM_CATEGORY 列挙型を参照してください。

vtbl 76 HRESULT GetAudioEndpointRole(DWORD* pRole)

次回の SetSource または Load の呼び出しで使用されるオーディオデバイスエンドポイントロールを取得します。

pRoleDWORD*outオーディオエンドポイントロールを受け取ります。

戻り値

このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。

解説(Remarks)

オーディオエンドポイントロールについては、ERole 列挙型を参照してください。

vtbl 77 HRESULT SetAudioEndpointRole(DWORD role)

次回の SetSource または Load の呼び出しで使用されるオーディオデバイスエンドポイントを設定します。

roleDWORDinオーディオエンドポイントロールを指定します。

戻り値

このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。

解説(Remarks)

オーディオエンドポイントロールについては、ERole 列挙型を参照してください。

vtbl 78 HRESULT GetRealTimeMode(BOOL* pfEnabled)

次回の SetSource または Load の呼び出しで使用されるリアルタイムモードを取得します。

pfEnabledBOOL*outリアルタイムモードを受け取ります。

戻り値

このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。

vtbl 79 HRESULT SetRealTimeMode(BOOL fEnable)

次回の SetSource または Load の呼び出しで使用されるリアルタイムモードを設定します。

fEnableBOOLinリアルタイムモードを指定します。

戻り値

このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。

vtbl 80 HRESULT SetCurrentTimeEx(DOUBLE seekTime, MF_MEDIA_ENGINE_SEEK_MODE seekMode)

指定した MF_MEDIA_ENGINE_SEEK_MODE を使用して、新しい再生位置にシークします。

seekTimeDOUBLEin新しい再生位置(秒単位)。
seekModeMF_MEDIA_ENGINE_SEEK_MODEinシークが通常のシークか近似シークかを指定します。

戻り値

このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。

vtbl 81 HRESULT EnableTimeUpdateTimer(BOOL fEnableTimer)

時刻更新タイマーを有効または無効にします。

fEnableTimerBOOLinTRUE の場合、更新タイマーが有効になります。それ以外の場合、タイマーは無効になります。

戻り値

このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。

出典・ライセンス: 上記「公式ドキュメント」の内容は 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_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 指定が可能。