IMAPIFolder::SetMessageStatus
Область применения: Outlook 2013 | Outlook 2016
Задает состояние, связанное с сообщением (например, указывает, помечено ли это сообщение для удаления).
HRESULT SetMessageStatus(
ULONG cbEntryID,
LPENTRYID lpEntryID,
ULONG ulNewStatus,
ULONG ulNewStatusMask,
ULONG FAR * lpulOldStatus
);
Параметры
cbEntryID
[в] Число байтов в идентификаторе записи, на который указывает параметр lpEntryID .
lpEntryID
[в] Указатель на идентификатор записи для сообщения, состояние которого задано.
ulNewStatus
[в] Новое состояние, назначаемое.
ulNewStatusMask
[в] Битовая маска флагов, которая применяется к новому состоянию и указывает на устанавливаемые флаги. Можно задать следующие флаги:
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 зарезервированы и должны быть равны нулю.
Реализация этого метода поставщиком удаленного транспорта должна соответствовать описанной здесь семантике. Особых соображений нет. Клиенты используют этот метод, чтобы задать MSGSTATUS_REMOTE_DOWNLOAD и MSGSTATUS_REMOTE_DELETE биты, чтобы указать, что определенное сообщение должно быть скачано или удалено из удаленного хранилища сообщений. Поставщику удаленного транспорта не нужно реализовывать связанный метод IMAPIFolder::GetMessageStatus . Клиенты должны искать в таблице содержимого папки, чтобы определить состояние сообщения.
Примечания для вызывающих методов
Свойство PR_MSG_STATUS сообщения можно использовать для согласования операции блокировки сообщений с другими клиентами. Назначьте бит в качестве бита блокировки. Чтобы определить, задан ли бит блокировки, проверьте предыдущее значение на наличие состояния сообщения в параметре lpulOldStatus . Используйте другие биты в параметре ulNewStatus для отслеживания состояния сообщения, не мешая биту блокировки.