IDVBSLocator
COMIDispatch (デュアル)comobj 経由でメソッド名による遅延バインド呼び出しができます(vtableインデックス不要)。公式ドキュメント
IDVBSLocator インターフェイスは DVBSLocator オブジェクトに実装されます。
解説(Remarks)
このインターフェイスのインターフェイス識別子 (IID) を宣言するには、__uuidof 演算子を使用します: __uuidof(IDVBSLocator)。
メソッド 10
vtbl = vtable インデックス(0始まり)。IDispatch 実装のため HSP ではメソッド名でも呼べます(上記)。低レベルの index 呼び出し用に vtbl も掲載。0〜2 は IUnknown。
get_SignalPolarisation メソッドは信号の偏波を取得します。
| PolarisationVal | Polarisation* | out | 偏波値を受け取る Polarisation 型の変数へのポインター。 |
戻り値
成功した場合は S_OK を返します。メソッドが失敗した場合、エラー情報は標準の COM IErrorInfo インターフェイスを使用して取得できます。
解説(Remarks)
このメソッドおよび関連する列挙型では、規格ドキュメントとの一貫性を保つため "polarisation" のイギリス式綴りを使用しています。
put_SignalPolarisation メソッドは信号の偏波を設定します。
| PolarisationVal | Polarisation | in | 信号の偏波値を指定する Polarisation 型の変数。 |
戻り値
成功した場合は S_OK を返します。メソッドが失敗した場合、エラー情報は標準の COM IErrorInfo インターフェイスを使用して取得できます。
解説(Remarks)
このメソッドおよび関連する列挙型では、規格ドキュメントとの一貫性を保つため "polarisation" のイギリス式綴りを使用しています。
get_WestPosition メソッドは、軌道位置が東経・西経のいずれで指定されているかを示す値を取得します。
| WestLongitude | VARIANT_BOOL* | out | VARIANT_BOOL 型の変数へのポインター。値が true の場合は「西経」を意味します。 |
戻り値
成功した場合は S_OK を返します。メソッドが失敗した場合、エラー情報は標準の COM IErrorInfo インターフェイスを使用して取得できます。
put_WestPosition メソッドは、経度位置を西経または東経として設定します。
| WestLongitude | VARIANT_BOOL | in | これ以降に続く経度値を西経・東経のいずれとして扱うかを指定します。true は「西経」を意味します。 |
戻り値
成功した場合は S_OK を返します。メソッドが失敗した場合、エラー情報は標準の COM IErrorInfo インターフェイスを使用して取得できます。
get_OrbitalPosition メソッドは、衛星の軌道位置の設定を取得します。
| longitude | INT* | out | 経度の設定を 10 分の 1 度単位で受け取ります。 |
戻り値
成功した場合は S_OK を返します。メソッドが失敗した場合、エラー情報は標準の COM IErrorInfo インターフェイスを使用して取得できます。
put_OrbitalPosition メソッドは、衛星の軌道位置の設定を行います。
| longitude | INT | in | 衛星の経度を 10 分の 1 度単位で指定します。 |
戻り値
成功した場合は S_OK を返します。メソッドが失敗した場合、エラー情報は標準の COM IErrorInfo インターフェイスを使用して取得できます。
get_Azimuth メソッドは、パラボラアンテナの位置決めに使用される方位角の設定を取得します。
| Azimuth | INT* | out | 方位角を 10 分の 1 度単位で受け取ります。 |
戻り値
成功した場合は S_OK を返します。メソッドが失敗した場合、エラー情報は標準の COM IErrorInfo インターフェイスを使用して取得できます。
put_Azimuth メソッドは、パラボラアンテナの位置決めに使用される方位角の設定を調整します。
| Azimuth | INT | in | 方位角を 10 分の 1 度単位で指定します。 |
戻り値
成功した場合は S_OK を返します。メソッドが失敗した場合、エラー情報は標準の COM IErrorInfo インターフェイスを使用して取得できます。
get_Elevation メソッドは、衛星の仰角を 10 分の 1 度単位で取得します。
| Elevation | INT* | out | 仰角の設定を 10 分の 1 度単位で受け取ります。 |
戻り値
成功した場合は S_OK を返します。メソッドが失敗した場合、エラー情報は標準の COM IErrorInfo インターフェイスを使用して取得できます。
put_Elevation メソッドは、衛星の仰角を 10 分の 1 度単位で設定します。
| Elevation | INT | in | 仰角を 10 分の 1 度単位で指定します。 |
戻り値
成功した場合は S_OK を返します。メソッドが失敗した場合、エラー情報は標準の COM IErrorInfo インターフェイスを使用して取得できます。
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)
HSP用 COM定義
#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"。
#define global IID_IDVBSLocator "{3D7C353C-0D04-45F1-A742-F97CC1188DC8}" #usecom global IDVBSLocator IID_IDVBSLocator "{1DF7D126-4050-47F0-A7CF-4C4CA9241333}" #comfunc global IDVBSLocator_get_SignalPolarisation 22 var #comfunc global IDVBSLocator_put_SignalPolarisation 23 int #comfunc global IDVBSLocator_get_WestPosition 24 var #comfunc global IDVBSLocator_put_WestPosition 25 int #comfunc global IDVBSLocator_get_OrbitalPosition 26 var #comfunc global IDVBSLocator_put_OrbitalPosition 27 int #comfunc global IDVBSLocator_get_Azimuth 28 var #comfunc global IDVBSLocator_put_Azimuth 29 int #comfunc global IDVBSLocator_get_Elevation 30 var #comfunc global IDVBSLocator_put_Elevation 31 int ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※#usecom 末尾は CoCreateInstance 用のクラスID(コクラスCLSID, SDKから自動取得)。 ; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。 ; ※IDispatch 実装。HSP では comobj 経由でメソッド名による呼び出しも可能(vtbl 不要)。#define global IID_IDVBSLocator "{3D7C353C-0D04-45F1-A742-F97CC1188DC8}" #usecom global IDVBSLocator IID_IDVBSLocator "{1DF7D126-4050-47F0-A7CF-4C4CA9241333}" #comfunc global IDVBSLocator_get_SignalPolarisation 22 sptr #comfunc global IDVBSLocator_put_SignalPolarisation 23 int #comfunc global IDVBSLocator_get_WestPosition 24 sptr #comfunc global IDVBSLocator_put_WestPosition 25 int #comfunc global IDVBSLocator_get_OrbitalPosition 26 sptr #comfunc global IDVBSLocator_put_OrbitalPosition 27 int #comfunc global IDVBSLocator_get_Azimuth 28 sptr #comfunc global IDVBSLocator_put_Azimuth 29 int #comfunc global IDVBSLocator_get_Elevation 30 sptr #comfunc global IDVBSLocator_put_Elevation 31 int ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※#usecom 末尾は CoCreateInstance 用のクラスID(コクラスCLSID, SDKから自動取得)。 ; ※出力/バッファ引数はポインタ方式(token=sptr / 呼び出しは varptr(変数))。 ; ※IDispatch 実装。HSP では comobj 経由でメソッド名による呼び出しも可能(vtbl 不要)。