IDVBTLocator
COMIDispatch (デュアル)comobj 経由でメソッド名による遅延バインド呼び出しができます(vtableインデックス不要)。公式ドキュメント
IDVBTLocator インターフェイスは、DVBTLocator オブジェクトに実装されます。
解説(Remarks)
このインターフェイスのインターフェイス識別子 (IID) を宣言するには、__uuidof 演算子を使用します: __uuidof(IDVBTLocator)。
メソッド 14
vtbl = vtable インデックス(0始まり)。IDispatch 実装のため HSP ではメソッド名でも呼べます(上記)。低レベルの index 呼び出し用に vtbl も掲載。0〜2 は IUnknown。
get_Bandwidth メソッドは、周波数の帯域幅を取得します。
| BandWidthVal | INT* | out | 帯域幅をメガヘルツ (MHz) 単位で受け取ります。 |
戻り値
成功した場合は S_OK を返します。メソッドが失敗した場合、標準の COM IErrorInfo インターフェイスを使用してエラー情報を取得できます。
解説(Remarks)
帯域幅は、EN 300 468 で定義されている DVB terrestrial delivery system descriptor の bandwidth フィールドによって決定されます。有効な値は 7 または 8 です。
put_BandWidth メソッドは、周波数の帯域幅を設定します。
| BandwidthVal | INT | in | 帯域幅をメガヘルツ (MHz) 単位で指定します。値は terrestrial delivery system descriptor の bandwidth フィールドから取得する必要があります。 |
戻り値
成功した場合は S_OK を返します。メソッドが失敗した場合、標準の COM IErrorInfo インターフェイスを使用してエラー情報を取得できます。
get_LPInnerFEC メソッドは、低優先度ストリームの内側 FEC の種類を取得します。
| FEC | FECMethod* | out | FECMethod 列挙体のメンバーを受け取ります。 |
戻り値
成功した場合は S_OK を返します。メソッドが失敗した場合、標準の COM IErrorInfo インターフェイスを使用してエラー情報を取得できます。
put_LPInnerFEC メソッドは、低優先度ストリームの内側 FEC の種類を設定します。
| FEC | FECMethod | in | FEC の種類を指定する FECMethod 型の変数です。 |
戻り値
成功した場合は S_OK を返します。メソッドが失敗した場合、標準の COM IErrorInfo インターフェイスを使用してエラー情報を取得できます。
get_LPInnerFECRate メソッドは、低優先度ストリームの内側 FEC レートを取得します。
| FEC | BinaryConvolutionCodeRate* | out | BinaryConvolutionCodeRate 列挙体のメンバーを受け取ります。 |
戻り値
成功した場合は S_OK を返します。メソッドが失敗した場合、標準の COM IErrorInfo インターフェイスを使用してエラー情報を取得できます。
put_LPInnerFECRate メソッドは、低優先度ストリームの内側 FEC レートを設定します。
| FEC | BinaryConvolutionCodeRate | in | レートを指定する BinaryConvolutionCodeRate 型の変数です。 |
戻り値
成功した場合は S_OK を返します。メソッドが失敗した場合、標準の COM IErrorInfo インターフェイスを使用してエラー情報を取得できます。
get_HAlpha メソッドは、階層アルファを取得します。
| Alpha | HierarchyAlpha* | out | HierarchyAlpha 列挙体のメンバーを受け取ります。 |
戻り値
成功した場合は S_OK を返します。メソッドが失敗した場合、標準の COM IErrorInfo インターフェイスを使用してエラー情報を取得できます。
put_HAlpha メソッドは、階層アルファを設定します。
| Alpha | HierarchyAlpha | in | 階層アルファを指定する HierarchyAlpha 型の変数です。 |
戻り値
成功した場合は S_OK を返します。メソッドが失敗した場合、標準の COM IErrorInfo インターフェイスを使用してエラー情報を取得できます。
get_Guard メソッドは、ガードインターバルを取得します。
| GI | GuardInterval* | out | GuardInterval 列挙体のメンバーを受け取ります。 |
戻り値
成功した場合は S_OK を返します。メソッドが失敗した場合、標準の COM IErrorInfo インターフェイスを使用してエラー情報を取得できます。
put_Guard メソッドは、ガードインターバルを設定します。
| GI | GuardInterval | in | ガードインターバルを指定する GuardInterval 型の変数です。 |
戻り値
成功した場合は S_OK を返します。メソッドが失敗した場合、標準の COM IErrorInfo インターフェイスを使用してエラー情報を取得できます。
get_Mode メソッドは、伝送モードを受け取ります。
| mode | TransmissionMode* | out | TransmissionMode 列挙体のメンバーを受け取ります。 |
戻り値
成功した場合は S_OK を返します。メソッドが失敗した場合、標準の COM IErrorInfo インターフェイスを使用してエラー情報を取得できます。
put_Mode メソッドは、伝送モードを設定します。
| mode | TransmissionMode | in | 伝送モードを TransmissionMode 列挙体のメンバーとして指定します。 |
戻り値
成功した場合は S_OK を返します。メソッドが失敗した場合、標準の COM IErrorInfo インターフェイスを使用してエラー情報を取得できます。
get_OtherFrequencyInUse メソッドは、その周波数が別の DVB-T 放送事業者によって使用されているかどうかを示します。
| OtherFrequencyInUseVal | VARIANT_BOOL* | out | その周波数が別の DVB-T 放送事業者によって使用されている場合は VARIANT_TRUE を、そうでない場合は VARIANT_FALSE を受け取ります。 |
戻り値
成功した場合は S_OK を返します。メソッドが失敗した場合、標準の COM IErrorInfo インターフェイスを使用してエラー情報を取得できます。
put_OtherFrequencyInUse メソッドは、その周波数が別の DVB-T 放送事業者によって使用されているかどうかを指定します。
| OtherFrequencyInUseVal | VARIANT_BOOL | in | その周波数が別の DVB-T 放送事業者によって使用されている場合は VARIANT_TRUE を、そうでない場合は VARIANT_FALSE を指定します。 |
戻り値
成功した場合は S_OK を返します。メソッドが失敗した場合、標準の COM IErrorInfo インターフェイスを使用してエラー情報を取得できます。
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)
HSP用 COM定義
#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"。
#define global IID_IDVBTLocator "{8664DA16-DDA2-42AC-926A-C18F9127C302}" #usecom global IDVBTLocator IID_IDVBTLocator "{9CD64701-BDF3-4D14-8E03-F12983D86664}" #comfunc global IDVBTLocator_get_Bandwidth 22 var #comfunc global IDVBTLocator_put_Bandwidth 23 int #comfunc global IDVBTLocator_get_LPInnerFEC 24 var #comfunc global IDVBTLocator_put_LPInnerFEC 25 int #comfunc global IDVBTLocator_get_LPInnerFECRate 26 var #comfunc global IDVBTLocator_put_LPInnerFECRate 27 int #comfunc global IDVBTLocator_get_HAlpha 28 var #comfunc global IDVBTLocator_put_HAlpha 29 int #comfunc global IDVBTLocator_get_Guard 30 var #comfunc global IDVBTLocator_put_Guard 31 int #comfunc global IDVBTLocator_get_Mode 32 var #comfunc global IDVBTLocator_put_Mode 33 int #comfunc global IDVBTLocator_get_OtherFrequencyInUse 34 var #comfunc global IDVBTLocator_put_OtherFrequencyInUse 35 int ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※#usecom 末尾は CoCreateInstance 用のクラスID(コクラスCLSID, SDKから自動取得)。 ; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。 ; ※IDispatch 実装。HSP では comobj 経由でメソッド名による呼び出しも可能(vtbl 不要)。#define global IID_IDVBTLocator "{8664DA16-DDA2-42AC-926A-C18F9127C302}" #usecom global IDVBTLocator IID_IDVBTLocator "{9CD64701-BDF3-4D14-8E03-F12983D86664}" #comfunc global IDVBTLocator_get_Bandwidth 22 sptr #comfunc global IDVBTLocator_put_Bandwidth 23 int #comfunc global IDVBTLocator_get_LPInnerFEC 24 sptr #comfunc global IDVBTLocator_put_LPInnerFEC 25 int #comfunc global IDVBTLocator_get_LPInnerFECRate 26 sptr #comfunc global IDVBTLocator_put_LPInnerFECRate 27 int #comfunc global IDVBTLocator_get_HAlpha 28 sptr #comfunc global IDVBTLocator_put_HAlpha 29 int #comfunc global IDVBTLocator_get_Guard 30 sptr #comfunc global IDVBTLocator_put_Guard 31 int #comfunc global IDVBTLocator_get_Mode 32 sptr #comfunc global IDVBTLocator_put_Mode 33 int #comfunc global IDVBTLocator_get_OtherFrequencyInUse 34 sptr #comfunc global IDVBTLocator_put_OtherFrequencyInUse 35 int ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※#usecom 末尾は CoCreateInstance 用のクラスID(コクラスCLSID, SDKから自動取得)。 ; ※出力/バッファ引数はポインタ方式(token=sptr / 呼び出しは varptr(変数))。 ; ※IDispatch 実装。HSP では comobj 経由でメソッド名による呼び出しも可能(vtbl 不要)。