次の方法で共有


IMsnNotification::put_Body プロパティ

IMsnNotification

Body プロパティの値を設定します。Body は、この通知に対して表示されるメッセージのテキストを指定する Unicode 文字列のプロパティです。このプロパティは必須です。

構文

HRESULT put_Body(
    BSTR newVal
);

パラメータ

  • newVal
    [入力] Unicode 文字列。この通知のテキスト メッセージが含まれます。newVal を NULL に設定してこのメソッドを呼び出すと、Body プロパティがクリアされます。

戻り値

S_OK 呼び出しが正常に行われたか、newVal が NULL です。
E_OUTOFMEMORY プロパティに必要なメモリを割り当てようとしているときにエラーが発生しました。

解説

次の図は、通知のポップアップ メッセージで本文が表示される場所を示しています。

通知オブジェクトは、XML 通知パケットの形式で .NET Alerts ルーティング エンジンに送信されます。通知パケット内では、Body プロパティの内容は <BODY> タグでネストされています。<BODY> タグに指定できる最大許容バイト数は、開始タグ <BODY> と終了タグ </BODY> を含めて 1024 バイトです。詳細については、「メッセージ データ : <MSG> 要素」を参照してください。GetSerialization メソッドを使用すると、通知オブジェクトの内容を調べることができます。ダブル バイト文字セットの文字は、2 バイトのメモリを必要とするので注意してください。プロパティの長さの制限は、.NET Alerts クライアント ライブラリではなく、.NET Alerts ルーティング エンジンによって強制されます。長さの制限を超えてもクライアント ライブラリは警告やエラーを出しませんが、ルーティング エンジンによって通知が拒否されます。

99 文字を超える本文を送信しないようにしてください。99 文字を超えると、米国 MSN® Mobile サービスによってこのテキストは切り捨てられます。また、通知をデスクトップに配信する場合、長いメッセージは Microsoft® Windows® Messenger や MSN Messenger のクライアント アプリケーションによって表示されるポップアップ メッセージに収まりません。ポップアップ メッセージに収まるメッセージの長さの制限は、文字幅や表示の際のテキストの折り返し方法によって異なります。送信した最長のメッセージがすべての配信先で正しく表示されているかどうかを確認する必要があります。

Body の内容は、XML の <TEXT> タグで囲まれている必要があります。たとえば、次のようになります。

<TEXT>This is the body text.</TEXT>

XML では、大文字と小文字が区別されます。<TEXT> タグは大文字でなければなりません。<TEXT> タグを指定しなかったり、正しく指定しなかった場合は、.NET Alerts ルーティング エンジンによって通知が破棄されます。

このプロパティは、XML でエンコードされている必要があります。XML エンコードの問題は、通知が米国 MSN® Mobile に登録されたデバイスに配信されない一般的な原因の 1 つです。次の表に、エンコードが必要な文字を示します。

文字 エンコード
< &lt;
> &gt;
& &amp;
" &quot;
' &apos;

メッセージの本文は、HTML に対応していません。このため、メッセージの本文に含まれる HTML (HTML 数値エンティティなど) はレンダリングされないで表示されます。

関連項目

C++ リファレンスの概要  |  IMsnNotification::get_Body プロパティ  |  IMsnNotification::GetSerialization メソッド

  |