IMbnMultiCarrierEvents
COM公式ドキュメント
このインターフェイスは、非同期の IMbnMultiCarrier メソッド呼び出しを処理するために使用される通知インターフェイスです。
メソッド 5
vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。
この通知メソッドは、SetHomeProvider 操作の完了を示すために Mobile Broadband サービスによって呼び出されます。
| mbnInterface | IMbnMultiCarrier* | in | Mobile Broadband デバイスの SetHomeProvider 操作を表す IMbnMultiCarrier オブジェクトです。 | ||||||||||||
| requestID | DWORD | in | Mobile Broadband サービスが SetHomeProvider 操作に割り当てたリクエスト ID です。 | ||||||||||||
| status | HRESULT | in | SetHomeProvider の結果を示すステータスコードです。
|
戻り値
このメソッドは S_OK を返す必要があります。
解説(Remarks)
status が S_OK の場合、インターフェイスのホームプロバイダーは SetHomeProvider によって新しいプロバイダーに正常に設定されています。それ以外の場合、元のホームプロバイダーは変更されず、接続やパケットサービスなど、インターフェイスの以前の状態は変更されないままとなります。
この通知メソッドは、GetCurrentCellularClass 操作の完了を示すために Mobile Broadband サービスによって呼び出されます。
| mbnInterface | IMbnMultiCarrier* | in | Mobile Broadband デバイスの GetCurrentCellularClass 操作を表す IMbnMultiCarrier オブジェクトです。 |
戻り値
このメソッドは次のいずれかの値を返すことができます。
| リターンコード | 説明 |
|---|---|
| 操作は成功しました。 |
この通知メソッドは、GetPreferredProviders 操作の完了と、デバイスの優先プロバイダーリストの変更を示すために Mobile Broadband サービスによって呼び出されます。
| mbnInterface | IMbnMultiCarrier* | in |
Mobile Broadband デバイスの GetPreferredProviders 操作を表す IMbnMultiCarrier オブジェクトです。 |
戻り値
このメソッドは S_OK を返す必要があります。
解説(Remarks)
デバイスの優先プロバイダーリストは、SMS または OTA(Over The Air)更新によってネットワークから更新される場合があります。Mobile Broadband サービスは、優先プロバイダーリストの変更をアプリケーションに通知するためにこのメソッドを呼び出します。アプリケーションは、IMbnMultiCarrier オブジェクトの GetPreferredProviders メソッドを呼び出して、更新された優先プロバイダーのリストを取得できます。
この通知メソッドは、ScanNetwork 操作の完了を示すために Mobile Broadband サービスによって呼び出されます。
| mbnInterface | IMbnMultiCarrier* | in | Mobile Broadband デバイスの ScanNetwork 操作を表す IMbnMultiCarrier オブジェクトです。 | ||||||||||||
| requestID | DWORD | in | Mobile Broadband サービスが ScanNetwork 操作に割り当てたリクエスト ID です。 | ||||||||||||
| status | HRESULT | in | ScanNetwork の結果を示すステータスコードです。
|
戻り値
このメソッドは S_OK を返す必要があります。
解説(Remarks)
status が S_OK の場合、Mobile Broadband サービスは表示可能なプロバイダーのキャッシュされたリストを正常に更新しました。アプリケーションは、渡された IMbnMultiCarrier の GetVisibleProviders メソッドを呼び出して、表示可能なプロバイダーのリストを取得できます。
複数のアプリケーションが通知に登録している場合、このメソッドは登録済みのすべてのアプリケーションで呼び出されます。つまり、更新操作を開始していないアプリケーションも通知を受け取ります。
この通知メソッドは、インターフェイスの機能を更新する SetHomeProvider 操作の完了を示すために Mobile Broadband サービスによって呼び出されます。
| mbnInterface | IMbnMultiCarrier* | in | Mobile Broadband デバイスを表す IMbnMultiCarrier オブジェクトです。 |
戻り値
このメソッドは S_OK を返す必要があります。
解説(Remarks)
SetHomeProvider の呼び出しによってネットワークキャリアが変更されると、インターフェイスの機能が新しいキャリアの機能で更新された時点で OnInterfaceCapabilityChange が呼び出されます。アプリケーションは、SetHomeProvider に渡された IMbnInterface オブジェクトの GetInterfaceCapability メソッドを呼び出して、利用可能な機能情報を取得できます。IMbnInterface は、OnInterfaceCapabilityChange に渡された IMbnMultiCarrier オブジェクトで QueryInterface を呼び出すことで取得できます。インターフェイスの機能の一覧については、MBN_INTERFACE_CAPS を参照してください。
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)
HSP用 COM定義
#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"。
#define global IID_IMbnMultiCarrierEvents "{DCDDDAB6-2021-4BBB-AAEE-338E368AF6FA}"
#usecom global IMbnMultiCarrierEvents IID_IMbnMultiCarrierEvents "{}"
#comfunc global IMbnMultiCarrierEvents_OnSetHomeProviderComplete 3 sptr,int,int
#comfunc global IMbnMultiCarrierEvents_OnCurrentCellularClassChange 4 sptr
#comfunc global IMbnMultiCarrierEvents_OnPreferredProvidersChange 5 sptr
#comfunc global IMbnMultiCarrierEvents_OnScanNetworkComplete 6 sptr,int,int
#comfunc global IMbnMultiCarrierEvents_OnInterfaceCapabilityChange 7 sptr
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。