ホーム › Media.DirectShow.Tv › IScanningTunerEx
IScanningTunerEx
COMメソッド 8
vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。
| pILocator | ILocator** | in | 現在チューニング中の位置を表すILocatorを返す出力ポインタ。 |
vtbl 19 HRESULT PerformExhaustiveScan(INT dwLowerFreq, INT dwHigherFreq, VARIANT_BOOL bFineTune, UINT_PTR hEvent)
| dwLowerFreq | INT | in | 走査を開始する下限周波数(kHz)。-1で既定の最小値を用いる。 |
| dwHigherFreq | INT | in | 走査を終了する上限周波数(kHz)。-1で既定の最大値を用いる。 |
| bFineTune | VARIANT_BOOL | in | 微調整走査を行うか指定するVARIANT_BOOL。VARIANT_TRUEで微調整を有効にする。 |
| hEvent | UINT_PTR | in | 走査の進捗を通知するイベントハンドル。UINT_PTRとして渡す。 |
| pcurrentFreq | INT* | out | 走査を中断した時点の現在周波数を返すINTの受け取りポインタ。 |
| hEvent | UINT_PTR | in | 走査再開時に進捗を通知するイベントハンドル。UINT_PTRとして渡す。 |
vtbl 22 HRESULT GetTunerScanningCapability(INT* HardwareAssistedScanning, INT* NumStandardsSupported, GUID* BroadcastStandards)
| HardwareAssistedScanning | INT* | out | ハードウェア支援走査の対応有無を返すINTの受け取りポインタ。 |
| NumStandardsSupported | INT* | out | 対応する放送規格の数を返すINTの受け取りポインタ。 |
| BroadcastStandards | GUID* | out | 対応する放送規格を識別するGUIDの配列。呼び出し側が確保する。 |
vtbl 23 HRESULT GetTunerStatus(INT* SecondsLeft, INT* CurrentLockType, INT* AutoDetect, INT* CurrentFreq)
| SecondsLeft | INT* | out | 現在の走査完了までの推定残り秒数を返すINTの受け取りポインタ。 |
| CurrentLockType | INT* | out | 現在のロック種別(信号同期状態)を返すINTの受け取りポインタ。 |
| AutoDetect | INT* | out | 自動検出の状態を返すINTの受け取りポインタ。 |
| CurrentFreq | INT* | out | 現在の周波数(kHz)を返すINTの受け取りポインタ。 |
vtbl 24 HRESULT GetCurrentTunerStandardCapability(GUID CurrentBroadcastStandard, INT* SettlingTime, INT* TvStandardsSupported)
| CurrentBroadcastStandard | GUID | in | 能力を問い合わせる対象の放送規格を識別するGUID。 |
| SettlingTime | INT* | out | 信号が安定するまでに要する待機時間(ミリ秒)を返すINTの受け取りポインタ。 |
| TvStandardsSupported | INT* | out | 対応するテレビ規格のビットフラグを返すINTの受け取りポインタ。 |
| ScanModulationTypes | INT | in | 走査対象とする変調方式のフィルタを指定するINT。ビットフラグで指定する。 |
| AnalogVideoStandard | INT | in | 走査対象とするアナログ映像規格(AnalogVideoStandard)を指定するINT。 |
HSP用 COM定義
#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"。
出力引数:
#define global IID_IScanningTunerEx "{04BBD195-0E2D-4593-9BD5-4F908BC33CF5}" #usecom global IScanningTunerEx IID_IScanningTunerEx "{}" #comfunc global IScanningTunerEx_GetCurrentLocator 18 sptr #comfunc global IScanningTunerEx_PerformExhaustiveScan 19 int,int,int,sptr #comfunc global IScanningTunerEx_TerminateCurrentScan 20 var #comfunc global IScanningTunerEx_ResumeCurrentScan 21 sptr #comfunc global IScanningTunerEx_GetTunerScanningCapability 22 var,var,var #comfunc global IScanningTunerEx_GetTunerStatus 23 var,var,var,var #comfunc global IScanningTunerEx_GetCurrentTunerStandardCapability 24 int,var,var #comfunc global IScanningTunerEx_SetScanSignalTypeFilter 25 int,int ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。#define global IID_IScanningTunerEx "{04BBD195-0E2D-4593-9BD5-4F908BC33CF5}" #usecom global IScanningTunerEx IID_IScanningTunerEx "{}" #comfunc global IScanningTunerEx_GetCurrentLocator 18 sptr #comfunc global IScanningTunerEx_PerformExhaustiveScan 19 int,int,int,sptr #comfunc global IScanningTunerEx_TerminateCurrentScan 20 sptr #comfunc global IScanningTunerEx_ResumeCurrentScan 21 sptr #comfunc global IScanningTunerEx_GetTunerScanningCapability 22 sptr,sptr,sptr #comfunc global IScanningTunerEx_GetTunerStatus 23 sptr,sptr,sptr,sptr #comfunc global IScanningTunerEx_GetCurrentTunerStandardCapability 24 int,sptr,sptr #comfunc global IScanningTunerEx_SetScanSignalTypeFilter 25 int,int ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数はポインタ方式(token=sptr / 呼び出しは varptr(変数))。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。