IAnalogTVTuningSpace
COMIDispatch (デュアル)comobj 経由でメソッド名による遅延バインド呼び出しができます(vtableインデックス不要)。公式ドキュメント
IAnalogTVTuningSpace インターフェイスは、アナログ TV チューニングスペースに関連するパラメーターを取得および設定するためのメソッドを提供します。Video Control は、WDM アナログ TV フィルターグラフの構築と制御を行う際にこれらのメソッドを使用します。
解説(Remarks)
このインターフェイスのインターフェイス識別子 (IID) を宣言するには、__uuidof 演算子を使用します: __uuidof(IAnalogTVTuningSpace)。
メソッド 8
vtbl = vtable インデックス(0始まり)。IDispatch 実装のため HSP ではメソッド名でも呼べます(上記)。低レベルの index 呼び出し用に vtbl も掲載。0〜2 は IUnknown。
get_MinChannel メソッドは、このチューニングスペースの最小チャンネル番号を取得します。
| MinChannelVal | INT* | out | 最小チャンネルを受け取ります。 |
戻り値
成功した場合は S_OK を返します。メソッドが失敗した場合、エラー情報は標準の COM IErrorInfo インターフェイスを使用して取得できます。
解説(Remarks)
アンテナに接続された NTSC チューニングスペースは値 2 を返します。
put_MinChannel メソッドは、このチューニングスペースの最小チャンネル番号を設定します。
| NewMinChannelVal | INT | in | 最小チャンネル番号。 |
戻り値
成功した場合は S_OK を返します。メソッドが失敗した場合、エラー情報は標準の COM IErrorInfo インターフェイスを使用して取得できます。
get_MaxChannel メソッドは、このチューニングスペースの最大チャンネル番号を取得します。
| MaxChannelVal | INT* | out | 最大チャンネルを受け取ります。 |
戻り値
成功した場合は S_OK を返します。メソッドが失敗した場合、エラー情報は標準の COM IErrorInfo インターフェイスを使用して取得できます。
解説(Remarks)
たとえば、アンテナに接続された NTSC チューニングスペースは 69 を返します。
put_MaxChannel メソッドは、このチューニングスペースの最大チャンネル番号を設定します。
| NewMaxChannelVal | INT | in | 最大チャンネル番号。 |
戻り値
成功した場合は S_OK を返します。メソッドが失敗した場合、エラー情報は標準の COM IErrorInfo インターフェイスを使用して取得できます。
get_InputType メソッドは、チューニングスペースに対して意図された入力の種類 (アンテナまたはケーブル) を取得します。
| InputTypeVal | TunerInputType* | out | 入力の種類を受け取る TunerInputType 型の変数へのポインター。 |
戻り値
成功した場合は S_OK を返します。メソッドが失敗した場合、エラー情報は標準の COM IErrorInfo インターフェイスを使用して取得できます。
put_InputType メソッドは、チューニングスペースに対して意図された入力の種類 (アンテナまたはケーブル) を設定します。
| NewInputTypeVal | TunerInputType | in | 入力の種類を指定する TunerInputType 型の変数。 |
戻り値
成功した場合は S_OK を返します。メソッドが失敗した場合、エラー情報は標準の COM IErrorInfo インターフェイスを使用して取得できます。
get_CountryCode メソッドは、チューニングスペースの国/地域コード (TAPI の国/地域コードに基づく) を取得します。
| CountryCodeVal | INT* | out | 国/地域コードの値を受け取ります。 |
戻り値
成功した場合は S_OK を返します。メソッドが失敗した場合、エラー情報は標準の COM IErrorInfo インターフェイスを使用して取得できます。
解説(Remarks)
チューナーは、周波数マッピングのために可能性の高いチャンネルを特定するのに国/地域コードを使用できます。
put_CountryCode メソッドは、チューニングスペースの国/地域コード (TAPI の国/地域コードに基づく) を設定します。
| NewCountryCodeVal | INT | in | 国/地域コード。 |
戻り値
成功した場合は S_OK を返します。メソッドが失敗した場合、エラー情報は標準の COM IErrorInfo インターフェイスを使用して取得できます。
解説(Remarks)
チューナーは、周波数マッピングのために可能性の高いチャンネルを特定するのに国/地域コードを使用できます。
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)
HSP用 COM定義
#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"。
#define global IID_IAnalogTVTuningSpace "{2A6E293C-2595-11D3-B64C-00C04F79498E}" #usecom global IAnalogTVTuningSpace IID_IAnalogTVTuningSpace "{8A674B4D-1F63-11D3-B64C-00C04F79498E}" #comfunc global IAnalogTVTuningSpace_get_MinChannel 26 var #comfunc global IAnalogTVTuningSpace_put_MinChannel 27 int #comfunc global IAnalogTVTuningSpace_get_MaxChannel 28 var #comfunc global IAnalogTVTuningSpace_put_MaxChannel 29 int #comfunc global IAnalogTVTuningSpace_get_InputType 30 var #comfunc global IAnalogTVTuningSpace_put_InputType 31 int #comfunc global IAnalogTVTuningSpace_get_CountryCode 32 var #comfunc global IAnalogTVTuningSpace_put_CountryCode 33 int ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※#usecom 末尾は CoCreateInstance 用のクラスID(コクラスCLSID, SDKから自動取得)。 ; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。 ; ※IDispatch 実装。HSP では comobj 経由でメソッド名による呼び出しも可能(vtbl 不要)。#define global IID_IAnalogTVTuningSpace "{2A6E293C-2595-11D3-B64C-00C04F79498E}" #usecom global IAnalogTVTuningSpace IID_IAnalogTVTuningSpace "{8A674B4D-1F63-11D3-B64C-00C04F79498E}" #comfunc global IAnalogTVTuningSpace_get_MinChannel 26 sptr #comfunc global IAnalogTVTuningSpace_put_MinChannel 27 int #comfunc global IAnalogTVTuningSpace_get_MaxChannel 28 sptr #comfunc global IAnalogTVTuningSpace_put_MaxChannel 29 int #comfunc global IAnalogTVTuningSpace_get_InputType 30 sptr #comfunc global IAnalogTVTuningSpace_put_InputType 31 int #comfunc global IAnalogTVTuningSpace_get_CountryCode 32 sptr #comfunc global IAnalogTVTuningSpace_put_CountryCode 33 int ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※#usecom 末尾は CoCreateInstance 用のクラスID(コクラスCLSID, SDKから自動取得)。 ; ※出力/バッファ引数はポインタ方式(token=sptr / 呼び出しは varptr(変数))。 ; ※IDispatch 実装。HSP では comobj 経由でメソッド名による呼び出しも可能(vtbl 不要)。