Поделиться через


IMAPIFolder::EmptyFolder

Область применения: Outlook 2013 | Outlook 2016

Удаляет все сообщения и вложенные папки из папки, не удаляя саму папку.

HRESULT EmptyFolder(
  ULONG_PTR ulUIParam,
  LPMAPIPROGRESS lpProgress,
  ULONG ulFlags
);

Параметры

ulUIParam

[в] Дескриптор родительского окна индикатора хода выполнения. Параметр ulUIParam игнорируется, если в параметре ulFlags не установлен флаг FOLDER_DIALOG.

lpProgress

[в] Указатель на объект выполнения, отображающий индикатор хода выполнения. Если в lpProgress передается значение NULL, поставщик хранилища сообщений отображает индикатор хода выполнения с помощью реализации объекта хода выполнения MAPI. Параметр lpProgress игнорируется, если в параметре ulFlags не установлен флаг FOLDER_DIALOG.

ulFlags

[в] Битовая маска флагов, управляющая способом очистки папки. Можно задать следующие флаги:

DEL_ASSOCIATED

Удаляет все вложенные папки, включая вложенные папки, содержащие сообщения со связанным содержимым. Флаг DEL_ASSOCIATED имеет значение только для папки верхнего уровня, с помощью которого выполняется вызов.

DELETE_HARD_DELETE

Безвозвратно удаляет все сообщения, в том числе обратимо удаленные.

FOLDER_DIALOG

Отображает индикатор хода выполнения во время выполнения операции.

Возвращаемое значение

S_OK

Папка была успешно очищена.

MAPI_W_PARTIAL_COMPLETION

Вызов выполнен успешно, но папка не была полностью очищена. При возврате этого предупреждения вызов должен быть обработан как успешный. Чтобы проверить наличие этого предупреждения, используйте макрос HR_FAILED . Дополнительные сведения см. в разделе Использование макросов для обработки ошибок.

Замечания

Метод IMAPIFolder::EmptyFolder удаляет все содержимое папки, не удаляя саму папку.

Во время вызова EmptyFolder отправленные сообщения не удаляются.

Связанное содержимое папки включает сообщения, которые используются для описания представлений, правил, настраиваемых форм и пользовательского хранилища решений, а также могут содержать определения форм.

Примечания для исполнителей

Не вызывайте метод IMsgStore::AbortSubmit для отправленных сообщений в папке. Отправленные сообщения не удаляются.

Примечания для вызывающих методов

Ожидайте эти возвращаемые значения при следующих условиях.

Condition Возвращаемое значение
EmptyFolder успешно очистил папку. S_OK
EmptyFolder не удалось полностью очистить папку. MAPI_W_PARTIAL_COMPLETION
Не удалось завершить emptyFolder. Любое значение ошибки

Если emptyFolder не удается завершить, не предполагайте, что работа не выполнена. EmptyFolder , возможно, удалось удалить часть содержимого папки, прежде чем возникла ошибка.

Справочные материалы по MFCMAPI

Пример кода MFCMAPI указан в приведенной ниже таблице.

Файл Функция Comment
MsgStoreDlg.cpp
CMsgStoreDlg::OnEmptyFolder
MFCMAPI использует метод IMAPIFolder::EmptyFolder для удаления содержимого указанной папки.

См. также

IMsgStore::AbortSubmit

IMAPIFolder : IMAPIContainer

MFCMAPI как пример кода

Использование макросов для обработки ошибок