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 パラメーターの他のビットを使用して、ロックアウト ビットを妨げずにメッセージの状態を追跡します。