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

IMbnSubscriberInformation

COM
IID459ecc43-bcf5-11dc-a8a8-001321f1405f継承元IUnknown自前メソッド開始 vtbl3

公式ドキュメント

加入者情報へのアクセスを提供します。

解説(Remarks)

このインターフェイスは、IMbnInterfaceGetSubscriberInformation メソッドによって返されます。

メソッド 3

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

vtbl 3 HRESULT get_SubscriberID(LPWSTR* SubscriberID)

デバイスの加入者 ID です。

SubscriberIDLPWSTR*out加入者識別子(IMSI等)の文字列を受け取る出力ポインタ。呼び出し側が解放する。

解説(Remarks)

これは数字で構成される null 終端文字列です。GSM デバイスの場合は、International Mobile Equipment Identity (IMSI) 文字列(最大 15 桁)を表します。CDMA デバイスの場合は、Mobile Identification Number (MIN) 文字列または International Roaming MIN (IRM) 文字列(10 桁)を表します。

通常、この値はデバイスのレディ状態が MBN_READY_STATE_INITIALIZED の場合にのみ利用できます。場合によっては、MBN_READY_STATE_DEVICE_LOCKEDMBN_READY_STATE_BAD_SIMMBN_READY_STATE_FAILURE などの他の状態でも設定されることがあります。この情報が利用できない場合は、空の文字列 "" が返されます。

vtbl 4 HRESULT get_SimIccID(LPWSTR* SimIccID)

デバイスの SIM International circuit card number (SimICCID) です。

SimIccIDLPWSTR*outSIMカードのICCID(集積回路カード識別子)文字列を受け取る出力ポインタ。呼び出し側が解放する。

解説(Remarks)

SIM の International Circuit Card Id は長さが 15 桁から 20 桁の範囲で異なり、文字で表現されます。この値はデバイスのレディ状態が MBN_READY_STATE_INITIALIZED の場合にのみ利用できます。場合によっては、MBN_READY_STATE_DEVICE_LOCKEDMBN_READY_STATE_BAD_SIMMBN_READY_STATE_FAILURE などの状態でも設定されることがあります。この情報が利用できない場合は、空の文字列が返されます。

vtbl 5 HRESULT get_TelephoneNumbers(SAFEARRAY** TelephoneNumbers)

デバイスに関連付けられた電話番号です。

TelephoneNumbersSAFEARRAY**out加入者に紐づく電話番号の一覧をSAFEARRAYで受け取る出力ポインタ。

解説(Remarks)

このプロパティは、加入者に割り当てられた電話番号(TN)の一覧を提供します。GSM では、これらの番号は Mobile Station ISDN Numbers (MSISDN) と呼ばれます。CDMA では Mobile Directory Numbers (MDN) と呼ばれます。

この値は、レディ状態が MBN_READY_STATE_INITIALIZED に達するまで設定されません。

出典・ライセンス: 上記「公式ドキュメント」の内容は 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_IMbnSubscriberInformation "{459ECC43-BCF5-11DC-A8A8-001321F1405F}"
#usecom global IMbnSubscriberInformation IID_IMbnSubscriberInformation "{}"
#comfunc global IMbnSubscriberInformation_get_SubscriberID      3 var
#comfunc global IMbnSubscriberInformation_get_SimIccID          4 var
#comfunc global IMbnSubscriberInformation_get_TelephoneNumbers  5 var
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。