Win32 API 日本語リファレンス
ホームMedia.DirectShow.Tv › IMSVidAnalogTuner

IMSVidAnalogTuner

COMIDispatch (デュアル)
IDispatch を実装(デュアルインターフェース)。HSP では comobj 経由でメソッド名による遅延バインド呼び出しができます(vtableインデックス不要)。
IID1c15d47e-911d-11d2-b632-00c04f79498e継承元IMSVidTuner呼び出し名前(IDispatch) または vtbl自前メソッド開始 vtbl22

メソッド 9

vtbl = vtable インデックス(0始まり)。IDispatch 実装のため HSP ではメソッド名でも呼べます(上記)。低レベルの index 呼び出し用に vtbl も掲載。0〜2 は IUnknown。

vtbl 22 HRESULT get_Channel(INT* Channel)
ChannelINT*out現在のチャンネル番号を受け取るINT出力。
vtbl 23 HRESULT put_Channel(INT Channel)
ChannelINTin選局するチャンネル番号。INTで指定する。
vtbl 24 HRESULT get_VideoFrequency(INT* lcc)
lccINT*out現在の映像周波数を受け取るINT出力。単位はHz。
vtbl 25 HRESULT get_AudioFrequency(INT* lcc)
lccINT*out現在の音声周波数を受け取るINT出力。単位はHz。
vtbl 26 HRESULT get_CountryCode(INT* lcc)
lccINT*out現在の国コードを受け取るINT出力。チャンネル割当に影響する。
vtbl 27 HRESULT put_CountryCode(INT lcc)
lccINTin設定する国コード。INTで指定し、チャンネル割当に影響する。
vtbl 28 HRESULT get_SAP(VARIANT_BOOL* pfSapOn)
pfSapOnVARIANT_BOOL*out副音声(SAP)が有効かを受け取るVARIANT_BOOL出力。
vtbl 29 HRESULT put_SAP(VARIANT_BOOL fSapOn)
fSapOnVARIANT_BOOLin副音声(SAP)を有効にするか。VARIANT_TRUEで有効を指定するVARIANT_BOOL。
vtbl 30 HRESULT ChannelAvailable(INT nChannel, INT* SignalStrength, VARIANT_BOOL* fSignalPresent)
nChannelINTin可用性を調べるチャンネル番号。INTで指定する。
SignalStrengthINT*out受信信号強度を受け取るINT出力。
fSignalPresentVARIANT_BOOL*out信号が存在するかを受け取るVARIANT_BOOL出力。VARIANT_TRUEで存在。

HSP用 COM定義

#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"

出力引数:
#define global IID_IMSVidAnalogTuner "{1C15D47E-911D-11D2-B632-00C04F79498E}"
#usecom global IMSVidAnalogTuner IID_IMSVidAnalogTuner "{}"
#comfunc global IMSVidAnalogTuner_get_Channel         22 var
#comfunc global IMSVidAnalogTuner_put_Channel         23 int
#comfunc global IMSVidAnalogTuner_get_VideoFrequency  24 var
#comfunc global IMSVidAnalogTuner_get_AudioFrequency  25 var
#comfunc global IMSVidAnalogTuner_get_CountryCode     26 var
#comfunc global IMSVidAnalogTuner_put_CountryCode     27 int
#comfunc global IMSVidAnalogTuner_get_SAP             28 var
#comfunc global IMSVidAnalogTuner_put_SAP             29 int
#comfunc global IMSVidAnalogTuner_ChannelAvailable    30 int,var,var
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。
; ※IDispatch 実装。HSP では comobj 経由でメソッド名による呼び出しも可能(vtbl 不要)。