Win32 API 日本語リファレンス
ホームNetworkManagement.MobileBroadband › IMbnSignal

IMbnSignal

COM
IIDdcbbbab6-2003-4bbb-aaee-338e368af6fa継承元IUnknown自前メソッド開始 vtbl3

公式ドキュメント

モバイルブロードバンド接続の無線信号品質を取得します。

解説(Remarks)

呼び出し側アプリケーションは、IMbnInterfaceQueryInterface メソッドを呼び出すことでこのインターフェースを取得できます。

メソッド 2

vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。

vtbl 3 HRESULT GetSignalStrength(DWORD* signalStrength)

デバイスが受信した信号強度を取得します。

signalStrengthDWORD*outデバイスが受信した信号品質へのポインター。信号強度が不明であるか、デバイスで検出できない場合は MBN_RSSI_UNKNOWN に設定されます。 このメソッドが S_OK 以外の値を返した場合、このパラメーターは 0 になります。

戻り値

このメソッドは次のいずれかの値を返します。

リターンコード 説明
S_OK
メソッドは正常に完了しました。
E_PENDING
信号品質を利用できません。モバイルブロードバンドサービスは、この情報を取得するために現在デバイスを調べています。信号品質が利用可能になると、モバイルブロードバンドサービスは IMbnSignalEventsOnSignalStateChange メソッドを呼び出します。

解説(Remarks)

GetSignalStrength は、モバイルブロードバンドデバイスが受信した信号強度を報告します。GSM ベースのデバイスの場合、受信した信号強度をコード化された値として報告します。CDMA デバイスの場合、Raw RSSI ではなく Compensated RSSI(ノイズを考慮)に基づいて報告します。

次の表は、返される可能性のあるコード化された値を示しています。

信号強度(dBm) コード化された値(最小: 0 最大: 31)
-113 以下 0
-111 1
-109 2
... ...
... ...
-51 以上 31
不明または検出不可 MBN_RSSI_UNKNOWN

回復可能なエラー E_MBN_PIN_REQUIRED および E_MBN_RADIO_POWER_OFF の場合、モバイルブロードバンドサービスは、エラー状態が解消されたときに信号状態についてデバイスを再度クエリします。このメソッドは、クエリ操作が完了するまで E_PENDING を返します。新しいクエリが完了すると、モバイルブロードバンドサービスは IMbnSignalEventsOnSignalStateChange メソッドを呼び出します。

vtbl 4 HRESULT GetSignalError(DWORD* signalError)

受信した信号のエラー率を取得します。

signalErrorDWORD*out

受信した信号のエラー率へのポインター。

モバイルブロードバンドインターフェースは、信号エラー率を、エラー率のパーセンテージ範囲に対応するコード化された値として報告します。これは GSM の場合はチャネルビットエラー率、CDMA の場合はフレームエラー率です。どちらの場合も、MBN_ERROR_RATE_UNKNOWN は不明なエラー率を示します。

次の表は、エラー率コードの値を示しています。

ビットエラー率(%) フレームエラー率(%) コード化された値(0~7)
< 0.2 < 0.01 0
0.2 - 0.4 0.01 - 0.1 1
0.4 - 0.8 0.1 - 0.5 2
0.8 - 1.6 0.5 - 1.0 3
1.6 - 3.2 1.0 - 2.0 4
3.2 - 6.4 2.0 - 4.0 5
6.4 - 12.8 4.0 - 8.0 6
> 12.8 > 8.0 7
不明 不明 MBN_ERROR_RATE_UNKNOWN

戻り値

このメソッドは次のいずれかの値を返します。

リターンコード 説明
S_OK
メソッドは正常に完了しました

E_PENDING
エラー率はまだ利用できません。モバイルブロードバンドサービスは、情報を取得するために現在デバイスを調べています。エラー率が利用可能になると、モバイルブロードバンドサービスは IMbnSignalEventsOnSignalStateChange メソッドを呼び出します。

解説(Remarks)

モバイルブロードバンドインターフェースは、信号エラー率を、エラー率のパーセンテージ範囲に対応するコード化された値として報告します。これは GSM の場合はチャネルビットエラー率、CDMA の場合はフレームエラー率です。どちらの場合も、MBN_ERROR_RATE_UNKNOWN は不明なエラー率を示します。

出典・ライセンス: 上記「公式ドキュメント」の内容は Microsoft の Win32 API ドキュメント(MicrosoftDocs/sdk-api)を日本語に翻訳・改変したものです。© Microsoft Corporation. CC BY 4.0 で提供。
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)

HSP用 COM定義

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

出力引数:
#define global IID_IMbnSignal "{DCBBBAB6-2003-4BBB-AAEE-338E368AF6FA}"
#usecom global IMbnSignal IID_IMbnSignal "{}"
#comfunc global IMbnSignal_GetSignalStrength  3 var
#comfunc global IMbnSignal_GetSignalError     4 var
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。