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

IMbnSmsReadMsgPdu

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

公式ドキュメント

デバイスのメモリから読み取った SMS メッセージを表すプロパティのコレクション。

解説(Remarks)

このインターフェイスは、OnSmsReadComplete および OnSmsNewClass0Message メソッド(IMbnSmsEvents インターフェイスのメソッド)によって提供されます。

メソッド 4

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

vtbl 3 HRESULT get_Index(DWORD* Index)

デバイスの SMS ストア内におけるメッセージのインデックス。

IndexDWORD*outメッセージストア内でのこのSMSのインデックス値を受け取る出力ポインタ。
vtbl 4 HRESULT get_Status(MBN_MSG_STATUS* Status)

メッセージの種類。(IMbnSmsReadMsgPdu.get_Status)

StatusMBN_MSG_STATUS*outメッセージの状態(既読・未読・送信済み等)を示す列挙値を受け取る出力ポインタ。
vtbl 5 HRESULT get_PduData(LPWSTR* PduData)

GSM デバイスで使用される 16 進数形式の PDU メッセージ。

PduDataLPWSTR*outPDU形式でエンコードされたメッセージデータ文字列を受け取る出力ポインタ。呼び出し側が解放する。

解説(Remarks)

GSM デバイスの場合、PduData 内のこのデータは 3GPP TS 27.005 および 3GPP TS 23.040 で定義された PDU 構造に準拠します。

以下の表は、メッセージ "Hello" を含む PDU メッセージがどのように構成されるかの例を示しています。

07 91198994000010 11000A9189945086180000AA05C8329BFD06
内容 サービス センター アドレスのサイズ サービス センター アドレス 16 進数形式の PDU
サイズ 1 バイト 可変 可変

CDMA デバイスの場合、このプロパティは NULL を返します。

vtbl 6 HRESULT get_Message(SAFEARRAY** Message)

CDMA デバイスで使用される WMT 形式のメッセージ。

MessageSAFEARRAY**outメッセージ本体のバイト列をSAFEARRAYで受け取る出力ポインタ。

解説(Remarks)

CDMA デバイスの場合、3GPP2 仕様 C.S0015-A「Short Message Service (SMS) for Wideband Spread Spectrum Systems」のセクション 3.4.2.1「SMS Point-to-Point Message」で定義されたメッセージを表すバイト配列を返します。SMS は Wireless Messaging Teleservice (WMT) 形式のみをサポートします。

出典・ライセンス: 上記「公式ドキュメント」の内容は 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_IMbnSmsReadMsgPdu "{DCBBBAB6-2013-4BBB-AAEE-338E368AF6FA}"
#usecom global IMbnSmsReadMsgPdu IID_IMbnSmsReadMsgPdu "{}"
#comfunc global IMbnSmsReadMsgPdu_get_Index    3 var
#comfunc global IMbnSmsReadMsgPdu_get_Status   4 var
#comfunc global IMbnSmsReadMsgPdu_get_PduData  5 var
#comfunc global IMbnSmsReadMsgPdu_get_Message  6 var
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。