IMAPIFormMgr::IsInConflict

適用対象: Outlook 2013 | Outlook 2016

フォームが独自のメッセージの競合を処理できるかどうかを判断します。 複数のユーザーが同時に編集した場合、メッセージが競合しています。 これは、パブリック フォルダー内のメッセージに発生する可能性があります。

HRESULT IsInConflict(
  ULONG ulMessageFlags,
  ULONG ulMessageStatus,
  LPCSTR szMessageClass LPMAPIFOLDER pFolderFocus
);

パラメーター

ulMessageFlags

[in]メッセージの現在の状態を示すメッセージの PR_MESSAGE_FLAGS (PidTagMessageFlags) プロパティからコピーされたフラグのビットマスクへのポインター。

ulMessageStatus

[in]メッセージの状態に関する追加情報を提供するメッセージの PR_MSG_STATUS (PidTagMessageStatus) プロパティからコピーされたクライアント定義フラグまたはプロバイダー定義フラグのビットマスク。

szMessageClass

[in]メッセージのメッセージ クラスに名前を付ける文字列。

pFolderFocus

[in]メッセージを含むフォルダーへのポインター。 このようなフォルダーが存在しない場合 (たとえば、メッセージが別のメッセージに埋め込まれている場合)、 pFolderFocus パラメーターは NULL にすることができます。

戻り値

S_OK

フォームは、独自のメッセージの競合を処理しません。

S_false

フォームは、独自のメッセージ競合を処理するか、情報が渡されたメッセージが競合していません。

注釈

フォーム ビューアーは IMAPIFormMgr::IsInConflict メソッドを呼び出して、特定のフォームが独自のメッセージ競合を処理しないかどうかを検出します。 IsInConflict、ulMessageFlags パラメーターと ulMessageStatus パラメーター内のビットマスクが競合フラグの有無をチェックします。 競合フラグが設定されている場合、 IsInConflictszMessageClass パラメーターで渡されたメッセージ クラスを解決し、フォームが独自の競合を処理しない場合はS_OKを返します。 フォームが独自の競合を処理する場合、IsInConflict はS_FALSEを返します。

独自の競合を処理しないフォームは、 IMAPIFormMgr::LoadForm メソッドを使用して開く必要があり、既存のフォーム オブジェクトを再利用することはできません。

呼び出し側への注意

通常、クライアント アプリケーションは、アプリケーションがフォルダー内の 1 つのメッセージから次のメッセージまたは前のメッセージに移動するときに競合に対処する必要があります。 メッセージが競合しているが、そのメッセージのフォーム サーバーが競合を処理できる場合、クライアント アプリケーションは、次または前のメッセージを表示するための通常のコードを実行する必要があります。 フォーム サーバーが競合を処理できない場合、クライアント アプリケーションは、次または前のメッセージのメッセージ クラスを認識しないかのように続行する必要があります。

関連項目

IMAPIFormAdviseSink::OnActivateNext

PidTagMessageFlags 標準プロパティ

PidTagMessageStatus 標準プロパティ

IMAPIFormMgr : IUnknown