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

IMbnInterface

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

メソッド 11

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

vtbl 3 HRESULT get_InterfaceID(LPWSTR* InterfaceID)
InterfaceIDLPWSTR*outモバイルブロードバンドインターフェイスを一意に識別するID文字列を受け取る出力ポインタ。呼び出し側が解放する。
vtbl 4 HRESULT GetInterfaceCapability(MBN_INTERFACE_CAPS* interfaceCaps)
interfaceCapsMBN_INTERFACE_CAPS*outデバイスのセルラークラスや音声・SMS対応などインターフェイス能力を格納する構造体を受け取る出力ポインタ。
vtbl 5 HRESULT GetSubscriberInformation(IMbnSubscriberInformation** subscriberInformation)
subscriberInformationIMbnSubscriberInformation**out加入者ID・SIM ICCID・電話番号を提供するIMbnSubscriberInformationを受け取る出力ポインタ。
vtbl 6 HRESULT GetReadyState(MBN_READY_STATE* readyState)
readyStateMBN_READY_STATE*outSIM未挿入や初期化中など、インターフェイスの準備状態を示す列挙値を受け取る出力ポインタ。
vtbl 7 HRESULT InEmergencyMode(VARIANT_BOOL* emergencyMode)
emergencyModeVARIANT_BOOL*out緊急通報モード中か否かを示すVARIANT_BOOLを受け取る出力ポインタ。VARIANT_TRUEで緊急モード。
vtbl 8 HRESULT GetHomeProvider(MBN_PROVIDER* homeProvider)
homeProviderMBN_PROVIDER*outSIMに紐づくホームプロバイダー情報を格納する構造体を受け取る出力ポインタ。
vtbl 9 HRESULT GetPreferredProviders(SAFEARRAY** preferredProviders)
preferredProvidersSAFEARRAY**out優先プロバイダーの一覧をMBN_PROVIDER配列のSAFEARRAYで受け取る出力ポインタ。
vtbl 10 HRESULT SetPreferredProviders(SAFEARRAY* preferredProviders, DWORD* requestID)
preferredProvidersSAFEARRAY*in設定する優先プロバイダー一覧を格納したSAFEARRAY入力ポインタ。
requestIDDWORD*out非同期操作を識別する要求IDを受け取る出力ポインタ。完了イベントで照合する。
vtbl 11 HRESULT GetVisibleProviders(DWORD* age, SAFEARRAY** visibleProviders)
ageDWORD*out返される可視プロバイダー情報の経過時間を秒単位で受け取る出力ポインタ。
visibleProvidersSAFEARRAY**out現在検出可能なプロバイダーの一覧をSAFEARRAYで受け取る出力ポインタ。
vtbl 12 HRESULT ScanNetwork(DWORD* requestID)
requestIDDWORD*outネットワークスキャン非同期要求を識別するIDを受け取る出力ポインタ。完了イベントで照合する。
vtbl 13 HRESULT GetConnection(IMbnConnection** mbnConnection)
mbnConnectionIMbnConnection**outこのインターフェイスに対応する接続オブジェクトIMbnConnectionを受け取る出力ポインタ。

HSP用 COM定義

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

出力引数:
#define global IID_IMbnInterface "{DCBBBAB6-2001-4BBB-AAEE-338E368AF6FA}"
#usecom global IMbnInterface IID_IMbnInterface "{}"
#comfunc global IMbnInterface_get_InterfaceID           3 var
#comfunc global IMbnInterface_GetInterfaceCapability    4 var
#comfunc global IMbnInterface_GetSubscriberInformation  5 sptr
#comfunc global IMbnInterface_GetReadyState             6 var
#comfunc global IMbnInterface_InEmergencyMode           7 var
#comfunc global IMbnInterface_GetHomeProvider           8 var
#comfunc global IMbnInterface_GetPreferredProviders     9 var
#comfunc global IMbnInterface_SetPreferredProviders     10 var,var
#comfunc global IMbnInterface_GetVisibleProviders       11 var,var
#comfunc global IMbnInterface_ScanNetwork               12 var
#comfunc global IMbnInterface_GetConnection             13 sptr
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。
; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。