ホーム › Media.DirectShow.Tv › ITuner
ITuner
COMメソッド 10
vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。
vtbl 3 HRESULT get_TuningSpace(ITuningSpace** TuningSpace)
| TuningSpace | ITuningSpace** | out | 現在設定されているチューニング空間ITuningSpaceを返す受け取りポインタ。 |
vtbl 4 HRESULT put_TuningSpace(ITuningSpace* TuningSpace)
| TuningSpace | ITuningSpace* | in | 設定するチューニング空間ITuningSpaceへのポインタ。チューナーの動作範囲を定義する。 |
vtbl 5 HRESULT EnumTuningSpaces(IEnumTuningSpaces** ppEnum)
| ppEnum | IEnumTuningSpaces** | out | 利用可能なチューニング空間を列挙するIEnumTuningSpacesを返す出力ポインタ。 |
vtbl 6 HRESULT get_TuneRequest(ITuneRequest** TuneRequest)
| TuneRequest | ITuneRequest** | out | 現在のチューン要求ITuneRequestを返す受け取りポインタ。未設定時はNULLを返し得る。 |
vtbl 7 HRESULT put_TuneRequest(ITuneRequest* TuneRequest)
| TuneRequest | ITuneRequest* | in | 設定するチューン要求ITuneRequestへのポインタ。チューニング対象を指定し選局を行う。 |
vtbl 8 HRESULT Validate(ITuneRequest* TuneRequest)
| TuneRequest | ITuneRequest* | in | 検証対象のチューン要求ITuneRequestへのポインタ。選局可能かを確認するが選局はしない。 |
vtbl 9 HRESULT get_PreferredComponentTypes(IComponentTypes** ComponentTypes)
| ComponentTypes | IComponentTypes** | out | 優先するコンポーネント種別の一覧IComponentTypesを返す受け取りポインタ。 |
vtbl 10 HRESULT put_PreferredComponentTypes(IComponentTypes* ComponentTypes)
| ComponentTypes | IComponentTypes* | in | 設定する優先コンポーネント種別一覧IComponentTypesへのポインタ。 |
| Strength | INT* | out | 受信信号強度を返すINTの受け取りポインタ。-1で不明、-2で信号なし、0以上は強度値を表す。 |
| Interval | INT | in | 信号関連イベントを発火させる間隔をミリ秒で指定する。0で無効化する。 |
HSP用 COM定義
#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"。
出力引数:
#define global IID_ITuner "{28C52640-018A-11D3-9D8E-00C04F72D980}" #usecom global ITuner IID_ITuner "{}" #comfunc global ITuner_get_TuningSpace 3 sptr #comfunc global ITuner_put_TuningSpace 4 sptr #comfunc global ITuner_EnumTuningSpaces 5 sptr #comfunc global ITuner_get_TuneRequest 6 sptr #comfunc global ITuner_put_TuneRequest 7 sptr #comfunc global ITuner_Validate 8 sptr #comfunc global ITuner_get_PreferredComponentTypes 9 sptr #comfunc global ITuner_put_PreferredComponentTypes 10 sptr #comfunc global ITuner_get_SignalStrength 11 var #comfunc global ITuner_TriggerSignalEvents 12 int ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。#define global IID_ITuner "{28C52640-018A-11D3-9D8E-00C04F72D980}" #usecom global ITuner IID_ITuner "{}" #comfunc global ITuner_get_TuningSpace 3 sptr #comfunc global ITuner_put_TuningSpace 4 sptr #comfunc global ITuner_EnumTuningSpaces 5 sptr #comfunc global ITuner_get_TuneRequest 6 sptr #comfunc global ITuner_put_TuneRequest 7 sptr #comfunc global ITuner_Validate 8 sptr #comfunc global ITuner_get_PreferredComponentTypes 9 sptr #comfunc global ITuner_put_PreferredComponentTypes 10 sptr #comfunc global ITuner_get_SignalStrength 11 sptr #comfunc global ITuner_TriggerSignalEvents 12 int ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数はポインタ方式(token=sptr / 呼び出しは varptr(変数))。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。