メッセージの保存Saving a Message

適用されます: OutlookApplies to: Outlook

クライアントではメッセージのテキストのプロパティ、添付ファイルのプロパティ、あるの PR_SUBJECT (PidTagSubject)、およびプロパティだけでなく、いくつかのプロパティを設定するのには、メッセージのIMAPIProp::SetPropsメソッドを呼び出す通常メッセージを保存すると、前に受信者のリストに関連付けられています。Before a message is saved, clients typically call the message's IMAPIProp::SetProps method to set a few properties in addition to the message text properties, attachment properties, PR_SUBJECT (PidTagSubject), and properties associated with the recipient list.

IPM などの文字の文字列には、 PR_MESSAGE_CLASS (PidTagMessageClass) のプロパティを設定します。送信メッセージのクラスを説明する注意してください。Set the PR_MESSAGE_CLASS (PidTagMessageClass) property to a character string such as IPM.Note that describes the class of the outgoing message. クライアントは、すべての送信メッセージでPR_MESSAGE_CLASSを設定する必要があります、それを設定しない場合は、メッセージ ストア プロバイダーによって既定値を指定します。Although clients should set PR_MESSAGE_CLASS on all outgoing messages, a default value is supplied by the message store provider if you do not set it. 送信メッセージの既定のメッセージ クラスは、IPM.The default message class for outgoing messages is IPM.

PR_MESSAGE_FLAGS (PidTagMessageFlags) プロパティでは、MSGFLAG_UNSENT フラグを設定します。Set the MSGFLAG_UNSENT flag in the PR_MESSAGE_FLAGS (PidTagMessageFlags) property. 必要な場合も、MSGFLAG_READ と MSGFLAG_UNMODIFIED フラグを設定します。If desired, also set the MSGFLAG_READ and MSGFLAG_UNMODIFIED flags. MSGFLAG_UNMODIFIED を設定すると、配信されたメッセージをシミュレートするコンポジションの下のメッセージができます。Setting the MSGFLAG_UNMODIFIED allows a message under composition to simulate a delivered message. メッセージが最初に保存された前に、MSGFLAG_UNMODIFIED はのみのクライアントで設定できます。MSGFLAG_UNMODIFIED can only be set by clients before a message has been saved for the first time.

未送信メッセージの永続的なコピーを作成する準備ができたら、メッセージとその添付ファイルのすべてのIMAPIProp::SaveChangesを呼び出します。When you are ready to make a permanent copy of an unsent message, call IMAPIProp::SaveChanges on the message and all of its attachments. すぐにメッセージを送信する場合は、 SaveChangesの呼び出しにする必要はありません。If you intend to send the message right away, you do not need to call SaveChanges. SubmitMessageへの呼び出しは、内部での処理の一部としてメッセージを保存します。The call to SubmitMessage internally saves the message as part of its processing.

SaveChangesメソッドを呼び出すときは、メッセージは後で変更することができる KEEP_OPEN_READWRITE フラグを指定することをお勧めします。When calling SaveChanges, it is a good idea to specify the KEEP_OPEN_READWRITE flag, which allows the message to be modified at a later time. その他の設定可能なフラグは、FORCE_SAVE で、閉じたことを示します、メッセージまたは添付ファイルする必要があります、変更がコミットされた後、KEEP_OPEN_READONLY、さらには、変更されないことを示す、フラグにメッセージ ストア プロバイダーを許可するにはMAPI_DEFERRED_ERRORS のクライアント要求をバッチ処理します。Other settable flags include FORCE_SAVE, which indicates that the message or attachment should be closed after changes are committed, KEEP_OPEN_READONLY, which indicates that no further changes will be made, and the flag to allow the message store provider to batch client requests, MAPI_DEFERRED_ERRORS.

メッセージSaveChangesを呼び出す前に、 SaveChangesをメッセージに添付されているすべての呼び出すことが重要です。It is essential that you call SaveChanges for every attachment in the message before you call SaveChanges for the message. 失敗した場合、添付ファイルを保存するのには、添付ファイルはできません、メッセージに含まれて送信され、メッセージの添付ファイル テーブルに表示されません。If you fail to save an attachment, the attachment will not be included with the message when it is sent and it will not appear in the message's attachment table. 失敗するとすべての添付ファイルを保存した後、メッセージを保存するのには、メッセージと添付ファイルは失われます。If you fail to save the message after saving all of the attachments, both the message and the attachments will be lost.

SaveChangesが呼び出されると、メッセージ ストア プロバイダーは、次のプロパティを更新します。When SaveChanges is called, the message store provider updates the following properties:

  • PR_DISPLAY_TO(PidTagDisplayTo) は、プライマリのすべての受信者を一覧表示します。PR_DISPLAY_TO (PidTagDisplayTo) lists all primary recipients.

  • PR_DISPLAY_TOは、すべてのカーボン コピー受信者を一覧表示します。PR_DISPLAY_TO lists all carbon copy recipients.

  • PR_DISPLAY_BCC(PidTagDisplayBcc) は、すべてのブラインド カーボン コピー受信者を一覧表示します。PR_DISPLAY_BCC (PidTagDisplayBcc) lists all blind carbon copy recipients.

  • PR_LAST_MODIFICATION_TIME(PidTagLastModificationTime)PR_LAST_MODIFICATION_TIME (PidTagLastModificationTime)

  • PR_MESSAGE_FLAGSは、1 つまたは複数の添付ファイルが保存されている場合に MSGFLAG_HASATTACH を設定し、メッセージが変更を表示するのには MSGFLAG_UNMODIFIED をクリアします。PR_MESSAGE_FLAGS sets MSGFLAG_HASATTACH if one or more attachments have been saved and clears MSGFLAG_UNMODIFIED to show the message has changed.

  • PR_MESSAGE_SIZE(PidTagMessageSize) には、メッセージの現在のほとんどのサイズが含まれています。PR_MESSAGE_SIZE (PidTagMessageSize) contains the most current size of the message.

  • PR_MESSAGE_ATTACHMENTS(PidTagMessageAttachments) は、添付ファイル テーブルへのアクセスを提供します。PR_MESSAGE_ATTACHMENTS (PidTagMessageAttachments) provides access to the attachment table.

  • PR_MESSAGE_RECIPIENTS(PidTagMessageRecipients) は、受信者のテーブルへのアクセスを提供します。PR_MESSAGE_RECIPIENTS (PidTagMessageRecipients) provides access to the recipient table.

いくつかのメッセージ プロパティは、メッセージが作成されるとき、通常クライアントまたはサービス プロバイダーによって提供されます。Some message properties are typically supplied by clients or service providers when a message is created. クライアントは、これらの設定をしなかった、 SaveChangesが呼び出されたときにそれらを更新するメッセージ ストア プロバイダーがあります。If a client neglects to set them, it is up to the message store provider to update them at the time SaveChanges is called. たとえば、メッセージのPR_ENTRYID (PidTagEntryId) とPR_RECORD_KEY (PidTagRecordKey) のプロパティは、メッセージの作成時に設定されている場合、必要がありますに変更時間を節約します。For example, if a message's PR_ENTRYID (PidTagEntryId) and PR_RECORD_KEY (PidTagRecordKey) properties were set when the message was created, they need not be modified at save time. ただし、メッセージ ストア プロバイダーにメッセージの作成時に設定を無視するこれらの値はSaveChangesが呼び出される最初の時間です。However, message store providers that neglect to set them at message creation must set them the first time that SaveChanges is called.

SaveChanges MAPI_E_CORRUPT_DATA が返された場合を想定していますが保存されているデータが失われるようになりました。If SaveChanges returns MAPI_E_CORRUPT_DATA, assume that the data being saved is now lost. ネットワーク接続が切断またはサーバーが実行されていない場合、実装する場合のクライアント サーバー モデルを使用するメッセージ ストア プロバイダーはこの値を返す可能性があります。Message store providers that use a client-server model for their implementation might return this value when a network connection is lost or the server is not running. ユーザーにエラーを返す前に、書き込みおよびSetProps savechanges メソッドの呼び出しを別の順に呼び出すことによってもう一度データを保存してみてください。Before returning an error to the user, try to write and save the data a second time by making a call to SetProps followed by another call to SaveChanges. 場合は、データをローカルにキャッシュすると、この問題はしないでください。If the data is cached locally, this should not be a problem. ただし、ローカル キャッシュがない、または 2 番目のSaveChangesの呼び出しが失敗した場合、この問題をユーザーに警告するエラーを表示します。However, if there is no local cache or the second SaveChanges call fails, display an error to alert the user to the problem.