IMSVidAnalogTuner2
COMIDispatch (デュアル)comobj 経由でメソッド名による遅延バインド呼び出しができます(vtableインデックス不要)。公式ドキュメント
このトピックは、Update Rollup 2 for Microsoft Windows XP Media Center Edition 2005 以降に適用されます。IMSVidAnalogTuner2 インターフェイスは、Broadcast Driver Architecture (BDA) をサポートしないアナログ専用のチューナーカードを表します。
解説(Remarks)
このインターフェイスのインターフェイス識別子 (IID) を宣言するには、__uuidof 演算子を使用します: __uuidof(IMSVidAnalogTuner2)。
メソッド 3
vtbl = vtable インデックス(0始まり)。IDispatch 実装のため HSP ではメソッド名でも呼べます(上記)。低レベルの index 呼び出し用に vtbl も掲載。0〜2 は IUnknown。
このトピックは、Update Rollup 2 for Microsoft Windows XP Media Center Edition 2005 以降に適用されます。
| Formats | INT* | out | フォーマットフラグを受け取る変数へのポインター。設定可能な値は、次の表に示す値の 1 つ以上の合計です。
|
戻り値
このトピックは、Update Rollup 2 for Microsoft Windows XP Media Center Edition 2005 以降に適用されます。
| Modes | INT* | out | モードフラグを受け取る変数へのポインター。設定可能な値は、次の表に示す値の 1 つ以上の合計です。
|
戻り値
このトピックは、Update Rollup 2 for Microsoft Windows XP Media Center Edition 2005 以降に適用されます。
| Inputs | INT* | out | 補助入力の数を受け取る変数へのポインター。 |
戻り値
解説(Remarks)
クロスバーフィルターは、サポートする各オーディオ入力に対して 2 つの補助入力を公開します。つまり、各オーディオ入力ピンには、S-video とコンポジットビデオという 2 つの対応する補助入力ピンがあります。
このメソッドが返す補助入力の数には、物理的な入力ジャックが何らかの方法で結合されている場合 (たとえば、独自仕様またはオーバーロードされたジャックなど) でも、すべての補助入力が含まれます。
最初の S-video 入力はチャンネル 0、最初のコンポジット入力はチャンネル 1 です。追加の S-video 入力は偶数番号のチャンネルにあり、追加のコンポジット入力は奇数番号のチャンネルにあります。
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)
HSP用 COM定義
#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"。
#define global IID_IMSVidAnalogTuner2 "{37647BF7-3DDE-4CC8-A4DC-0D534D3D0037}" #usecom global IMSVidAnalogTuner2 IID_IMSVidAnalogTuner2 "{}" #comfunc global IMSVidAnalogTuner2_get_TVFormats 31 var #comfunc global IMSVidAnalogTuner2_get_TunerModes 32 var #comfunc global IMSVidAnalogTuner2_get_NumAuxInputs 33 var ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。 ; ※IDispatch 実装。HSP では comobj 経由でメソッド名による呼び出しも可能(vtbl 不要)。#define global IID_IMSVidAnalogTuner2 "{37647BF7-3DDE-4CC8-A4DC-0D534D3D0037}" #usecom global IMSVidAnalogTuner2 IID_IMSVidAnalogTuner2 "{}" #comfunc global IMSVidAnalogTuner2_get_TVFormats 31 sptr #comfunc global IMSVidAnalogTuner2_get_TunerModes 32 sptr #comfunc global IMSVidAnalogTuner2_get_NumAuxInputs 33 sptr ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数はポインタ方式(token=sptr / 呼び出しは varptr(変数))。 ; ※IDispatch 実装。HSP では comobj 経由でメソッド名による呼び出しも可能(vtbl 不要)。