IMbnSmsReadMsgTextCdma
COM公式ドキュメント
デバイスメモリから読み取った CDMA 形式の SMS メッセージを表すプロパティのコレクションです。
解説(Remarks)
このメッセージ形式は CDMA デバイスでのみ有効であり、GSM デバイスでは使用できません。
このインターフェイスは、IMbnSmsEvents インターフェイスの OnSmsReadComplete メソッドおよび OnSmsNewClass0Message メソッドによって提供されます。
メソッド 8
vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。
デバイスの SMS メモリ内におけるメッセージのインデックスです。
| Index | DWORD* | out | メッセージストア内でのこのCDMA SMSのインデックス値を受け取る出力ポインタ。 |
メッセージの種類です。(IMbnSmsReadMsgTextCdma.get_Status)
| Status | MBN_MSG_STATUS* | out | メッセージの状態(既読・未読等)を示す列挙値を受け取る出力ポインタ。 |
メッセージに関連付けられた携帯電話番号です。
| Address | LPWSTR* | out | 送信元または宛先のアドレス(電話番号)文字列を受け取る出力ポインタ。呼び出し側が解放する。 |
解説(Remarks)
受信メッセージの場合、これは送信者の番号です。送信済みメッセージまたは下書きメッセージの場合、これは受信者の番号です。
address は、次のいずれかの形式で表されます。
- "+ <International Country Code> <SMS Service Center Number>\0"
- "<SMS Service Center Number>\0"
メッセージのタイムスタンプです。
| Timestamp | LPWSTR* | out | メッセージのタイムスタンプ文字列を受け取る出力ポインタ。呼び出し側が解放する。 |
解説(Remarks)
タイムスタンプ文字列の形式は "YY/MM/DD,HH:mm:SS±ZZ" です。
次の表は、タイムスタンプ文字列の形式を定義しています。
| フィールド | 意味 | 例 | 範囲 |
|---|---|---|---|
| YY | 年の下 2 桁 | 2007 年なら 07 | 00 から 99 |
| MM | 月を 2 桁で表記 | 1 月なら 01 | 01 から 12 |
| DD | 日を 2 桁で表記 | 1 日なら 01 | 01 から 31 |
| HH | 時を 24 時間形式で表記 | 午後 1 時なら 13 | 00 から 23 |
| mm | 分を 2 桁で表記 | 1 分なら 1 | 00 から 59 |
| SS | 秒を 2 桁で表記 | 1 秒なら 01 | 00 から 59 |
| ZZ | GMT を基準とした時刻 | 1 時間進んでいる場合は +01 | -12 から +13 |
メッセージで使用されているデータエンコーディングです。
| EncodingID | MBN_SMS_CDMA_ENCODING* | out | CDMAメッセージのエンコード方式を示す列挙値を受け取る出力ポインタ。 |
メッセージで使用されている言語です。
| LanguageID | MBN_SMS_CDMA_LANG* | out | CDMAメッセージの言語を示す列挙値を受け取る出力ポインタ。 |
メッセージのサイズ(文字数)です。
| SizeInCharacters | DWORD* | out | メッセージ本体の文字数を受け取る出力ポインタ。 |
メッセージの内容です。
| Message | SAFEARRAY** | out | メッセージ本体のデータをSAFEARRAYで受け取る出力ポインタ。 |
解説(Remarks)
メッセージの最大サイズは、IMbnSmsConfiguration の CdmaShortMsgSize プロパティで指定されます。また、そのサイズは MBN_CDMA_SHORT_MSG_SIZE_MAX(160)を超えることはできません。
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)
HSP用 COM定義
#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"。
#define global IID_IMbnSmsReadMsgTextCdma "{DCBBBAB6-2014-4BBB-AAEE-338E368AF6FA}" #usecom global IMbnSmsReadMsgTextCdma IID_IMbnSmsReadMsgTextCdma "{}" #comfunc global IMbnSmsReadMsgTextCdma_get_Index 3 var #comfunc global IMbnSmsReadMsgTextCdma_get_Status 4 var #comfunc global IMbnSmsReadMsgTextCdma_get_Address 5 var #comfunc global IMbnSmsReadMsgTextCdma_get_Timestamp 6 var #comfunc global IMbnSmsReadMsgTextCdma_get_EncodingID 7 var #comfunc global IMbnSmsReadMsgTextCdma_get_LanguageID 8 var #comfunc global IMbnSmsReadMsgTextCdma_get_SizeInCharacters 9 var #comfunc global IMbnSmsReadMsgTextCdma_get_Message 10 var ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。#define global IID_IMbnSmsReadMsgTextCdma "{DCBBBAB6-2014-4BBB-AAEE-338E368AF6FA}" #usecom global IMbnSmsReadMsgTextCdma IID_IMbnSmsReadMsgTextCdma "{}" #comfunc global IMbnSmsReadMsgTextCdma_get_Index 3 sptr #comfunc global IMbnSmsReadMsgTextCdma_get_Status 4 sptr #comfunc global IMbnSmsReadMsgTextCdma_get_Address 5 sptr #comfunc global IMbnSmsReadMsgTextCdma_get_Timestamp 6 sptr #comfunc global IMbnSmsReadMsgTextCdma_get_EncodingID 7 sptr #comfunc global IMbnSmsReadMsgTextCdma_get_LanguageID 8 sptr #comfunc global IMbnSmsReadMsgTextCdma_get_SizeInCharacters 9 sptr #comfunc global IMbnSmsReadMsgTextCdma_get_Message 10 sptr ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数はポインタ方式(token=sptr / 呼び出しは varptr(変数))。