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


IMAPIContainer::GetSearchCriteria

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

Получает условия поиска для контейнера.

HRESULT GetSearchCriteria(
  ULONG ulFlags,
  LPSRestriction FAR * lppRestriction,
  LPENTRYLIST FAR * lppContainerList,
  ULONG FAR * lpulSearchState
);

Параметры

ulFlags

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

MAPI_UNICODE

Переданные строки имеют формат Юникода. Если флаг MAPI_UNICODE не задан, строки имеют формат ANSI.

lppRestriction

[out] Указатель на указатель на структуру SRestriction , которая определяет условия поиска. Если клиентское приложение передает значение NULL в параметре lppRestriction , GetSearchCriteria не возвращает структуру SRestriction .

lppContainerList

[out] Указатель на указатель на массив идентификаторов входа, представляющих контейнеры для включения в поиск. Если клиент передает значение NULL в параметре lppContainerList , GetSearchCriteria не возвращает массив идентификаторов входа.

lpulSearchState

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

SEARCH_FOREGROUND (0x1)

Поиск должен выполняться с высоким приоритетом по сравнению с другими поисками. Если этот флаг не задан, поиск выполняется с обычным приоритетом по сравнению с другими поисками.

SEARCH_REBUILD (0x2)

Поиск находится в интенсивном режиме работы ЦП, пытаясь найти сообщения, соответствующие условиям. Если этот флаг не установлен, ресурсоемкая часть операции поиска завершается. Этот флаг имеет значение, только если поиск активен (т. е. если установлен флаг SEARCH_RUNNING).

SEARCH_RECURSIVE (0x4)

Поиск ищет указанные контейнеры и все их дочерние контейнеры на наличие соответствующих записей. Если этот флаг не задан, выполняется поиск только контейнеров, явно включенных в последний вызов метода IMAPIContainer::SetSearchCriteria .

SEARCH_RUNNING (0x8)

Поиск активен, и таблица содержимого контейнера обновляется, чтобы отразить изменения в хранилище сообщений или адресной книге. Если этот флаг не задан, поиск неактивен, а таблица содержимого является статической.

SEARCH_COMPLETE (0x1000)

Результаты поиска полны.

SEARCH_PARTIAL (0x2000)

Были включены только некоторые части сообщений.

SEARCH_STATIC (0x10000)

Поиск является статическим.

SEARCH_MAYBE_STATIC (0x20000)

Поиск по-прежнему оценивается.

CI_TOTALLY (0x1000000)

Поиск выполняется исключительно с помощью индексирования содержимого.

CI_WITH_TWIR_RESIDUAL (0x2000000)

TWIR_MOSTLY (0x4000000)

TWIR_TOTALLY (0x8000000)

Поиск выполняется без индексирования содержимого и таблиц с ограничениями.

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

S_OK

Критерии поиска успешно получены.

MAPI_E_BAD_CHARWIDTH

Либо был установлен флаг MAPI_UNICODE и реализация не поддерживает Юникод, либо MAPI_UNICODE не задан и реализация поддерживает только Юникод.

MAPI_E_NOT_INITIALIZED

Условия поиска для контейнера никогда не устанавливались.

Замечания

Метод IMAPIContainer::GetSearchCriteria получает критерии поиска для контейнера, который поддерживает поиск, как правило, папки результатов поиска. Условия поиска создаются путем вызова метода IMAPIContainer::SetSearchCriteria контейнера.

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

Контейнеры адресной книги могут поддерживать GetSearchCriteria только в том случае, если они предоставляют расширенные возможности поиска, связанные со свойством PR_SEARCH (PidTagSearch). Дополнительные сведения о реализации функции расширенного поиска для контейнеров адресной книги см. в разделе Реализация расширенного поиска.

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

Завершив работу со структурами данных, на которые указывают параметры lppRestriction и lppContainerList , вызовите MAPIFreeBuffer один раз для каждой структуры, которую нужно освободить.

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

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

Файл Функция Comment
HierarchyTableDlg.cpp
CHierarchyTableDlg::OnEditSearchCriteria
MFCMAPI использует метод IMAPIContainer::GetSearchCriteria для получения условий поиска из отображаемой папки.

См. также

IMAPIContainer::SetSearchCriteria

IMAPIFolder::CreateFolder

MAPIFreeBuffer

Каноническое свойство PidTagSearch

IMAPIContainer : IMAPIProp

Mfcmapi (en) � �������� ������� ����