IMbnSmsReadMsgPdu
COM公式ドキュメント
デバイスのメモリから読み取った SMS メッセージを表すプロパティのコレクション。
解説(Remarks)
このインターフェイスは、OnSmsReadComplete および OnSmsNewClass0Message メソッド(IMbnSmsEvents インターフェイスのメソッド)によって提供されます。
メソッド 4
vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。
デバイスの SMS ストア内におけるメッセージのインデックス。
| Index | DWORD* | out | メッセージストア内でのこのSMSのインデックス値を受け取る出力ポインタ。 |
メッセージの種類。(IMbnSmsReadMsgPdu.get_Status)
| Status | MBN_MSG_STATUS* | out | メッセージの状態(既読・未読・送信済み等)を示す列挙値を受け取る出力ポインタ。 |
GSM デバイスで使用される 16 進数形式の PDU メッセージ。
| PduData | LPWSTR* | out | PDU形式でエンコードされたメッセージデータ文字列を受け取る出力ポインタ。呼び出し側が解放する。 |
解説(Remarks)
GSM デバイスの場合、PduData 内のこのデータは 3GPP TS 27.005 および 3GPP TS 23.040 で定義された PDU 構造に準拠します。
以下の表は、メッセージ "Hello" を含む PDU メッセージがどのように構成されるかの例を示しています。
| 例 | 07 | 91198994000010 | 11000A9189945086180000AA05C8329BFD06 |
|---|---|---|---|
| 内容 | サービス センター アドレスのサイズ | サービス センター アドレス | 16 進数形式の PDU |
| サイズ | 1 バイト | 可変 | 可変 |
CDMA デバイスの場合、このプロパティは NULL を返します。
CDMA デバイスで使用される WMT 形式のメッセージ。
| Message | SAFEARRAY** | 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 公式リファレンス: 英語 (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 方式にも切替可。#define global IID_IMbnSmsReadMsgPdu "{DCBBBAB6-2013-4BBB-AAEE-338E368AF6FA}" #usecom global IMbnSmsReadMsgPdu IID_IMbnSmsReadMsgPdu "{}" #comfunc global IMbnSmsReadMsgPdu_get_Index 3 sptr #comfunc global IMbnSmsReadMsgPdu_get_Status 4 sptr #comfunc global IMbnSmsReadMsgPdu_get_PduData 5 sptr #comfunc global IMbnSmsReadMsgPdu_get_Message 6 sptr ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数はポインタ方式(token=sptr / 呼び出しは varptr(変数))。