ホーム › NetworkManagement.MobileBroadband › IMbnMultiCarrier
IMbnMultiCarrier
COMメソッド 6
vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。
vtbl 3 HRESULT SetHomeProvider(MBN_PROVIDER2* homeProvider, DWORD* requestID)
| homeProvider | MBN_PROVIDER2* | in | 設定するホームプロバイダー情報を格納したMBN_PROVIDER2構造体の入力ポインタ。 |
| requestID | DWORD* | out | 非同期設定要求を識別するIDを受け取る出力ポインタ。完了イベントで照合する。 |
| preferredMulticarrierProviders | SAFEARRAY** | out | マルチキャリアの優先プロバイダー一覧をSAFEARRAYで受け取る出力ポインタ。 |
| age | DWORD* | out | 返される可視プロバイダー情報の経過時間を秒単位で受け取る出力ポインタ。 |
| visibleProviders | SAFEARRAY** | out | 現在検出可能なプロバイダーの一覧をSAFEARRAYで受け取る出力ポインタ。 |
| cellularClasses | SAFEARRAY** | out | デバイスがサポートするセルラークラス(GSM・CDMA等)の一覧をSAFEARRAYで受け取る出力ポインタ。 |
vtbl 7 HRESULT GetCurrentCellularClass(MBN_CELLULAR_CLASS* currentCellularClass)
| currentCellularClass | MBN_CELLULAR_CLASS* | out | 現在使用中のセルラークラスを示すMBN_CELLULAR_CLASS列挙値を受け取る出力ポインタ。 |
| requestID | DWORD* | out | ネットワークスキャン非同期要求を識別するIDを受け取る出力ポインタ。完了イベントで照合する。 |
HSP用 COM定義
#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"。
出力引数:
#define global IID_IMbnMultiCarrier "{DCBBBAB6-2020-4BBB-AAEE-338E368AF6FA}" #usecom global IMbnMultiCarrier IID_IMbnMultiCarrier "{}" #comfunc global IMbnMultiCarrier_SetHomeProvider 3 var,var #comfunc global IMbnMultiCarrier_GetPreferredProviders 4 var #comfunc global IMbnMultiCarrier_GetVisibleProviders 5 var,var #comfunc global IMbnMultiCarrier_GetSupportedCellularClasses 6 var #comfunc global IMbnMultiCarrier_GetCurrentCellularClass 7 var #comfunc global IMbnMultiCarrier_ScanNetwork 8 var ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。#define global IID_IMbnMultiCarrier "{DCBBBAB6-2020-4BBB-AAEE-338E368AF6FA}" #usecom global IMbnMultiCarrier IID_IMbnMultiCarrier "{}" #comfunc global IMbnMultiCarrier_SetHomeProvider 3 sptr,sptr #comfunc global IMbnMultiCarrier_GetPreferredProviders 4 sptr #comfunc global IMbnMultiCarrier_GetVisibleProviders 5 sptr,sptr #comfunc global IMbnMultiCarrier_GetSupportedCellularClasses 6 sptr #comfunc global IMbnMultiCarrier_GetCurrentCellularClass 7 sptr #comfunc global IMbnMultiCarrier_ScanNetwork 8 sptr ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数はポインタ方式(token=sptr / 呼び出しは varptr(変数))。