IMAPISession::SetDefaultStore
Область применения: Outlook 2013 | Outlook 2016
Устанавливает хранилище сообщений в качестве хранилища сообщений по умолчанию для сеанса.
HRESULT SetDefaultStore(
ULONG ulFlags,
ULONG cbEntryID,
LPENTRYID lpEntryID
);
Параметры
ulFlags
[в] Битовая маска флагов, управляющая настройкой хранилища сообщений по умолчанию. Эти флаги являются взаимоисключающими; Можно задать только один из следующих флагов:
MAPI_DEFAULT_STORE
Устанавливает хранилище сообщений в качестве сеанса по умолчанию. Обновления строку таблицы состояния хранилища сообщений, установив флаг STATUS_DEFAULT_STORE в столбце PR_RESOURCE_FLAGS (PidTagResourceFlags).
MAPI_PRIMARY_STORE
Устанавливает хранилище сообщений в качестве хранилища, которое будет использоваться при входе в систему. Если хранилище сообщений не является хранилищем по умолчанию, клиенты должны сделать его по умолчанию. Обновления строку таблицы состояния хранилища сообщений, установив флаг STATUS_PRIMARY_STORE в столбце PR_RESOURCE_FLAGS.
MAPI_SECONDARY_STORE
Устанавливает хранилище сообщений в качестве хранилища, которое будет использоваться при входе в систему, если основное хранилище сообщений недоступно. Если клиент не может открыть основное хранилище, он должен открыть дополнительное хранилище и задать его по умолчанию. Обновления строку таблицы состояния хранилища сообщений, установив флаг STATUS_SECONDARY_STORE в столбце PR_RESOURCE_FLAGS.
MAPI_SIMPLE_STORE_PERMANENT
Задает флаг STATUS_SIMPLE_STORE в свойстве PR_RESOURCE_FLAGS хранилища сообщений в строке таблицы состояния, строке таблицы хранилища сообщений и профиле сеанса.
MAPI_SIMPLE_STORE_TEMPORARY
Задает флаг STATUS_SIMPLE_STORE в свойстве PR_RESOURCE_FLAGS хранилища сообщений в строке таблицы состояния и строке таблицы хранилища сообщений. Профиль не изменяется.
cbEntryID
[в] Число байтов в идентификаторе записи, на который указывает параметр lpEntryID .
lpEntryID
[в] Указатель на идентификатор записи хранилища сообщений, который используется по умолчанию. Если клиент передает значение NULL в lpEntryID, хранилище сообщений по умолчанию не выбирается.
Возвращаемое значение
S_OK
Вызов выполнен успешно и возвращает ожидаемое значение или значения.
Замечания
Метод IMAPISession::SetDefaultStore устанавливает хранилище сообщений как одно из следующих:
Хранилище сообщений по умолчанию для сеанса.
Основное хранилище сообщений для сеанса.
Дополнительное хранилище сообщений для сеанса.
Чтобы установить хранилище сообщений по умолчанию, в свойстве PR_STORE_SUPPORT_MASK (PidTagStoreSupportMask) в хранилище сообщений должны быть установлены следующие флаги:
STORE_SUBMIT_OK
STORE_CREATE_OK
STORE_MODIFY_OK
Примечания для вызывающих методов
Вы можете определить хранилище сообщений по умолчанию для сеанса, извлекая таблицу состояния и найдите параметр флага STATUS_DEFAULT_STORE в столбце PR_RESOURCE_FLAGS . Строка с этим параметром представляет хранилище сообщений, указанное в качестве сеанса по умолчанию.
Если установлен флаг MAPI_DEFAULT_STORE или MAPI_SIMPLE_STORE_PERMANENT, MAPI обновляет профиль, таблицу хранилища сообщений и таблицу состояния.
При изменении параметра по умолчанию хранилища сообщений создаются следующие уведомления:
Уведомление о событии fnevTableModified выдается для каждой затронутой строки в хранилище сообщений и в таблице состояния.
В диспетчер очереди MAPI отправляется внутреннее уведомление. Уже выполняемые операции выполняются без изменений; Для нового хранилища по умолчанию обрабатываются новые операции, связанные с хранилищем сообщений по умолчанию, такие как скачивание сообщений.
Справочные материалы по MFCMAPI
Пример кода MFCMAPI указан в приведенной ниже таблице.
Файл | Функция | Comment |
---|---|---|
MainDlg.cpp |
CMainDlg::OnSetDefaultStore |
MFCMAPI использует метод IMAPISession::SetDefaultStore , чтобы задать выбранное хранилище в качестве хранилища по умолчанию. |
См. также
Каноническое свойство PidTagResourceFlags