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 パラメーター内のビットマスクが競合フラグの有無をチェックします。 競合フラグが設定されている場合、 IsInConflict は szMessageClass パラメーターで渡されたメッセージ クラスを解決し、フォームが独自の競合を処理しない場合はS_OKを返します。 フォームが独自の競合を処理する場合、IsInConflict はS_FALSEを返します。
独自の競合を処理しないフォームは、 IMAPIFormMgr::LoadForm メソッドを使用して開く必要があり、既存のフォーム オブジェクトを再利用することはできません。
呼び出し側への注意
通常、クライアント アプリケーションは、アプリケーションがフォルダー内の 1 つのメッセージから次のメッセージまたは前のメッセージに移動するときに競合に対処する必要があります。 メッセージが競合しているが、そのメッセージのフォーム サーバーが競合を処理できる場合、クライアント アプリケーションは、次または前のメッセージを表示するための通常のコードを実行する必要があります。 フォーム サーバーが競合を処理できない場合、クライアント アプリケーションは、次または前のメッセージのメッセージ クラスを認識しないかのように続行する必要があります。