メッセージ クラスを選択します。Choosing a Message Class

適用されます: OutlookApplies to: Outlook

MAPI メッセージ クラスで説明したとおり、メッセージ クラスは、カスタム メッセージのさらに、拡張して、フォーム サーバー自体の間での型の間の関係を確立するために重要です。As described in MAPI Message Classes, message classes are important for establishing the relationship between types of custom messages and, by extension, between form servers themselves. 幸いなことに、メッセージ クラスの文字列を選択することは非常に簡単です。Fortunately, choosing a message class string is fairly simple. メッセージ クラスのメッセージ クラスの文字列は、任意の文字列ですが、次の表記規則を使用する必要があります。The message class string of a message class is an arbitrary string, but it should use the following conventions:

  • 文字列は、 PR_MESSAGE_CLASS (PidTagMessageClass) のプロパティのドキュメントに記載されているすべての規則を満たす必要があります。The string should satisfy all the conventions described in the documentation for the PR_MESSAGE_CLASS (PidTagMessageClass) property. 重要なは、文字列は ANSI 文字のみで構成して、半角 256 文字未満にする必要があります。Importantly, the string must be composed entirely of ANSI characters and be less than 256 characters long.

  • フォーム サーバーは、フォームの既存のサーバーから派生したまたはフォームの既存のサーバーの拡張機能では、サーバーに基づいて、フォームをフォームのメッセージ クラスの文字列にピリオドと別の単語を追加することによって、メッセージ クラスの文字列を構成する必要があります。If your form server is derived from an existing form server or is an extension of an existing form server, your message class string should be formed by adding a period and another word to the message class string of the form server that your form is based on. など、会議のスケジュールを変更するフォームを実装することもできますし、会議をスケジュールするための既存のフォームに基づいて、フォームです。For example, you might want to implement a form to reschedule a meeting, and your form is based on an existing form for scheduling meetings. 会議のスケジュール設定のフォームのメッセージ クラスの文字列は"IPM. 場合、会議"で、メッセージ クラスの文字列があります"IPM.Meeting.Reschedule"です。If the meeting scheduling form's message class string is "IPM.Meeting", your message class string could be "IPM.Meeting.Reschedule".

  • フォームが基づいていない場合、既存のフォームに、メッセージのクラスの文字列も、まずいずれか、"IPM."If your form is not based on any existing form, your message class string should still begin with either the "IPM." または"IPC"にします。or "IPC." プレフィックス、フォームは、ユーザーまたは別のアプリケーションによって受信されるかどうかによって異なります。prefix, depending on whether the form is intended to be received by a person or by another application. "IPM.""IPM." 通常ユーザーの受信トレイ、および"IPC。"内に格納される個人間のメッセージを指定します。designates an interpersonal message that usually ends up in a user's Inbox, and "IPC." 通常はユーザーの受信トレイには配信されませんが、プロセス間通信メッセージを指定します。designates an interprocess communication message that is not typically delivered to a user's Inbox.

  • メッセージ クラスの文字列が"IPM."で開始する必要がある場合は、メッセージ クラスは、ユーザーが判読できる、If your message class is intended to be human-readable, the message class string should start with "IPM." メッセージ クラスは、通常と見なされる人間が判読できるテキスト形式、HTML が含まれている任意のプロパティを使用する場合、またはリッチ テキスト形式 (RTF) データ。A message class is generally considered human-readable if it uses any properties that contain plain text, HTML, or Rich Text Format (RTF) data. フォームは、(PidTagBody) であるPR_BODYプロパティを使用している場合は、"IPM."をほぼ確実に使用してください。If your form uses the PR_BODY (PidTagBody) property, it should almost certainly use an "IPM." メッセージ クラスの文字列です。message class string. たとえば、発注書のフォームを実装すると、管理者による、発注書を承認することを必要とする組織、メッセージ クラス文字列可能性があります"IPM.Purchase_Order"です。For example, if you are implementing a form for purchase orders, and your organization requires that purchase orders be approved by a manager, your message class string could be "IPM.Purchase_Order". パブリック フォルダー用に作成されたフォームを使用して、またはパブリック フォルダー アプリケーション通常と見なされる対人関係の人の電子メール アドレスに実際には対応できない場合でも人によって読み取られるためです。Forms that are designed for use with public folders or public folder applications are typically considered to be interpersonal because they are read by people even though they are not actually addressed to any person's email address. パブリック フォルダーのメッセージ クラスの代表的なプリフィックスは、"IPM.投稿」です。The typical prefix for public folder message classes is "IPM.Post".

  • メッセージ クラスの文字列が"IPC"で開始する必要がある場合は、メッセージ クラスの代わりに別のアプリケーションで受信する人が、If your message class is intended to be received by another application instead of by a person, the message class string should start with "IPC." たとえば、自動的にメーリング リストの購読を可能にするフォームを実装する場合、メッセージ クラスの文字列可能性があります"IPC。」を購読します。For example, if you are implementing a form that enables people to automatically subscribe to mailing lists, your message class string could be "IPC.Subscribe".

  • メッセージのクラスの文字列は、ピリオドで終わる必要があることはありません。Your message class string should never end with a period.

MessageClassエントリでは、次のようなフォーム構成ファイルの [説明] セクションでは、メッセージ クラスの文字列を保存する必要があります。The message class string should be put in the [Description] section of the form configuration file, in the MessageClass entry, similar to the following:

MessageClass=IPM.Meeting.Reschedule

適切なメッセージ クラスの文字列を選択した後のクラス識別子を生成する必要があります。After you have chosen an appropriate message class string, you should generate a class identifier for it. クラス識別子は、Visual Studio に含まれるGUID の作成] コマンドを使って生成できます。Class identifiers can be generated with the Create GUID command that is included in Visual Studio. MessageClassエントリでは、次のようなと、フォーム構成ファイルのCLSIDエントリのクラス識別子を置く必要があります。The class identifier must be put in the form configuration file's CLSID entry, along with the MessageClass entry, similar to the following:

CLSID={88FFF551-B8C5-11ce-8DE0-00AA0060D242}

クラス識別子は、ほぼ確実に変更されます、もちろん。Your class identifier will almost certainly be different, of course. 詳細については、フォーム構成ファイルを作成するを参照してください。For more information, see Creating a Form Configuration File.

ユーザーのコンピューターでは、インストール プロセスは、フォームがインストールされている場合、セットアップ プログラムまたは他の何かあるかどうか-のレジストリ エントリを作成する必要があります、*見つけてクリック* クラス識別子のレジストリのセクションです。When the form is installed on a user's computer, your installation process — whether it is a setup program or something else — must make a registry entry in the *HKEY_CLASSES_ROOT\CLSID* section of the registry for the class identifier. このエントリは、メッセージ クラスの文字列に設定する必要があります。This entry must be set to the message class string. などがエントリを作成するレジストリ上の例のクラス識別子は、次のような。For example, you would create a registry entry similar to the following for the example class identifier above:

HKEY_CLASSES_ROOT\CLSID\{88FFF551-B8C5-11ce-8DE0-00AA0060D242}="IPM.Meeting.Reschedule"

詳細については、ライブラリにフォームをインストールするを参照してください。For more information, see Installing a Form into a Library.

関連項目See also

MAPI フォームのサーバーの開発Developing MAPI Form Servers