IMAPIFolder::SetMessageStatus

適用対象: Outlook 2013 | Outlook 2016

メッセージに関連付けられている状態を設定します (たとえば、そのメッセージが削除対象としてマークされているかどうかなど)。

HRESULT SetMessageStatus(
  ULONG cbEntryID,
  LPENTRYID lpEntryID,
  ULONG ulNewStatus,
  ULONG ulNewStatusMask,
  ULONG FAR * lpulOldStatus
);

パラメーター

cbEntryID

[in] lpEntryID パラメーターによって指されるエントリ識別子のバイト数。

lpEntryID

[in]状態が設定されているメッセージのエントリ識別子へのポインター。

ulNewStatus

[in]割り当てる新しい状態。

ulNewStatusMask

[in]新しい状態に適用され、設定するフラグを示すフラグのビットマスク。 次のフラグを設定できます。

MSGSTATUS_DELMARKED

メッセージは削除対象としてマークされています。

MSGSTATUS_HIDDEN

メッセージは表示されません。

MSGSTATUS_HIGHLIGHTED

メッセージが強調表示されます。

MSGSTATUS_REMOTE_DELETE

ローカル クライアントにダウンロードせずに、リモート メッセージ ストアでメッセージが削除対象としてマークされています。

MSGSTATUS_REMOTE_DOWNLOAD

メッセージは、リモート メッセージ ストアからローカル クライアントにダウンロードするようにマークされています。

MSGSTATUS_TAGGED

メッセージは、クライアント定義の目的でタグ付けされています。

lpulOldStatus

[out]メッセージの以前の状態へのポインター。

戻り値

S_OK

メッセージの状態が正常に設定されました。

注釈

IMAPIFolder::SetMessageStatus メソッドは、メッセージの状態を、そのPR_MSG_STATUS (PidTagMessageStatus) プロパティに格納されている値に設定します。

実装に関するメモ

メッセージ状態ビットの設定、クリア、および使用方法は実装によって完全に異なりますが、ビット 0 から 15 は予約されており、0 である必要があります。

このメソッドのリモート トランスポート プロバイダーの実装は、ここで説明するセマンティクスに従う必要があります。 特別な考慮事項はありません。 クライアントは、このメソッドを使用してMSGSTATUS_REMOTE_DOWNLOADとMSGSTATUS_REMOTE_DELETE ビットを設定し、特定のメッセージをリモート メッセージ ストアからダウンロードまたは削除することを示します。 リモート トランスポート プロバイダーは、関連する IMAPIFolder::GetMessageStatus メソッドを 実装する必要はありません。 クライアントは、フォルダーのコンテンツ テーブルを調べてメッセージの状態を確認する必要があります。

呼び出し側への注意

メッセージの PR_MSG_STATUS プロパティを使用して、メッセージ ロックアウト操作を他のクライアントとネゴシエートできます。 ビットをロックアウト ビットとして指定します。 ロックアウト ビットが設定されているかどうかを判断するには、 lpulOldStatus パラメーターで前の値のメッセージ状態を調べます。 ulNewStatus パラメーターの他のビットを使用して、ロックアウト ビットを妨げずにメッセージの状態を追跡します。

関連項目

IMAPIFolder::GetMessageStatus

PidTagMessageStatus 標準プロパティ

IMAPIFolder : IMAPIContainer