IATSCTuningSpace
COMIDispatch (デュアル)comobj 経由でメソッド名による遅延バインド呼び出しができます(vtableインデックス不要)。公式ドキュメント
IATSCTuningSpace インターフェースは ATSCTuningSpace オブジェクトに実装されており、ATSC ネットワークタイプを持つ任意のチューニングスペースを表します。
解説(Remarks)
最小チャンネルと最大チャンネルが設定されている状態で、ユーザーが最大値を超えるチャンネルを指定すると、tuner は自動的に最小値へラップアラウンドします。
最小および最大のメジャーチャンネルを設定するには、IAnalogTVTuningSpace::put_MinChannel および IAnalogTVTuningSpace::put_MaxChannel を呼び出します。
このインターフェースのインターフェース識別子 (IID) を宣言するには、__uuidof 演算子を使用します: __uuidof(IATSCTuningSpace)。
メソッド 8
vtbl = vtable インデックス(0始まり)。IDispatch 実装のため HSP ではメソッド名でも呼べます(上記)。低レベルの index 呼び出し用に vtbl も掲載。0〜2 は IUnknown。
get_MinMinorChannel メソッドは、このチューニングスペースで許可される最小のマイナーチャンネル番号を取得します。
| MinMinorChannelVal | INT* | out | 最小のマイナーチャンネルを受け取ります。 |
戻り値
成功した場合は S_OK を返します。メソッドが失敗した場合、エラー情報は標準の COM IErrorInfo インターフェースを使用して取得できます。
put_MinMinorChannel メソッドは、このチューニングスペースで許可される最小のマイナーチャンネル番号を設定します。
| NewMinMinorChannelVal | INT | in | 最小のマイナーチャンネルを指定する long 型の変数です。 |
戻り値
成功した場合は S_OK を返します。メソッドが失敗した場合、エラー情報は標準の COM IErrorInfo インターフェースを使用して取得できます。
解説(Remarks)
最小マイナーチャンネルが最大マイナーチャンネルより大きくなる事態を避けるため、このプロパティは put_MaxMinorChannel を呼び出した後に設定する必要があります。両プロパティの既定値は -1 (未設定) です。
get_MaxMinorChannel メソッドは、このチューニングスペースの最大のマイナーチャンネル番号を取得します。
| MaxMinorChannelVal | INT* | out | 最大のマイナーチャンネルを受け取ります。 |
戻り値
成功した場合は S_OK を返します。メソッドが失敗した場合、エラー情報は標準の COM IErrorInfo インターフェースを使用して取得できます。
put_MaxMinorChannel メソッドは、このチューニングスペースの最大のマイナーチャンネル番号を取得します。
| NewMaxMinorChannelVal | INT | in | 最大のマイナーチャンネルです。 |
戻り値
成功した場合は S_OK を返します。メソッドが失敗した場合、エラー情報は標準の COM IErrorInfo インターフェースを使用して取得できます。
解説(Remarks)
最小マイナーチャンネルが最大マイナーチャンネルより大きくなる事態を避けるため、このプロパティは put_MinMinorChannel を呼び出す前に設定する必要があります。両プロパティの既定値は -1 (未設定) です。
get_MinPhysicalChannel メソッドは、このチューニングスペースの最小の物理チャンネル番号を設定します。
| MinPhysicalChannelVal | INT* | out | 最小の物理チャンネルを受け取ります。 |
戻り値
成功した場合は S_OK を返します。メソッドが失敗した場合、エラー情報は標準の COM IErrorInfo インターフェースを使用して取得できます。
put_MinPhysicalChannel メソッドは、このチューニングスペースの最小の物理チャンネル番号を設定します。
| NewMinPhysicalChannelVal | INT | in | 最小の物理チャンネルを指定する long 型の変数です。 |
戻り値
成功した場合は S_OK を返します。メソッドが失敗した場合、エラー情報は標準の COM IErrorInfo インターフェースを使用して取得できます。
get_MaxPhysicalChannel メソッドは、このチューニングスペースの最大の物理チャンネル番号を取得します。
| MaxPhysicalChannelVal | INT* | out | 最大の物理チャンネルを受け取ります。 |
戻り値
成功した場合は S_OK を返します。メソッドが失敗した場合、エラー情報は標準の COM IErrorInfo インターフェースを使用して取得できます。
put_MaxPhysicalChannel メソッドは、このチューニングスペースの最大の物理チャンネル番号を設定します。
| NewMaxPhysicalChannelVal | INT | in | 最大の物理チャンネルを指定する long 型の変数です。 |
戻り値
成功した場合は S_OK を返します。メソッドが失敗した場合、エラー情報は標準の COM IErrorInfo インターフェースを使用して取得できます。
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)
HSP用 COM定義
#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"。
#define global IID_IATSCTuningSpace "{0369B4E2-45B6-11D3-B650-00C04F79498E}" #usecom global IATSCTuningSpace IID_IATSCTuningSpace "{A2E30750-6C3D-11D3-B653-00C04F79498E}" #comfunc global IATSCTuningSpace_get_MinMinorChannel 34 var #comfunc global IATSCTuningSpace_put_MinMinorChannel 35 int #comfunc global IATSCTuningSpace_get_MaxMinorChannel 36 var #comfunc global IATSCTuningSpace_put_MaxMinorChannel 37 int #comfunc global IATSCTuningSpace_get_MinPhysicalChannel 38 var #comfunc global IATSCTuningSpace_put_MinPhysicalChannel 39 int #comfunc global IATSCTuningSpace_get_MaxPhysicalChannel 40 var #comfunc global IATSCTuningSpace_put_MaxPhysicalChannel 41 int ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※#usecom 末尾は CoCreateInstance 用のクラスID(コクラスCLSID, SDKから自動取得)。 ; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。 ; ※IDispatch 実装。HSP では comobj 経由でメソッド名による呼び出しも可能(vtbl 不要)。#define global IID_IATSCTuningSpace "{0369B4E2-45B6-11D3-B650-00C04F79498E}" #usecom global IATSCTuningSpace IID_IATSCTuningSpace "{A2E30750-6C3D-11D3-B653-00C04F79498E}" #comfunc global IATSCTuningSpace_get_MinMinorChannel 34 sptr #comfunc global IATSCTuningSpace_put_MinMinorChannel 35 int #comfunc global IATSCTuningSpace_get_MaxMinorChannel 36 sptr #comfunc global IATSCTuningSpace_put_MaxMinorChannel 37 int #comfunc global IATSCTuningSpace_get_MinPhysicalChannel 38 sptr #comfunc global IATSCTuningSpace_put_MinPhysicalChannel 39 int #comfunc global IATSCTuningSpace_get_MaxPhysicalChannel 40 sptr #comfunc global IATSCTuningSpace_put_MaxPhysicalChannel 41 int ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※#usecom 末尾は CoCreateInstance 用のクラスID(コクラスCLSID, SDKから自動取得)。 ; ※出力/バッファ引数はポインタ方式(token=sptr / 呼び出しは varptr(変数))。 ; ※IDispatch 実装。HSP では comobj 経由でメソッド名による呼び出しも可能(vtbl 不要)。