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


IAddrBook::GetSearchPath

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

Возвращает упорядоченный список идентификаторов записей контейнеров, которые будут включены в процесс разрешения имен, инициированный методом IAddrBook::ResolveName .

HRESULT GetSearchPath(
  ULONG ulFlags,
  LPSRowSet FAR * lppSearchPath
);

Параметры

ulFlags

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

MAPI_UNICODE

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

lppSearchPath

[out] Указатель на указатель на упорядоченный список идентификаторов входа в контейнер. GetSearchPath сохраняет упорядоченный список в структуре SRowSet . Если в иерархии адресной книги нет контейнеров, в структуре SRowSet возвращается ноль.

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

S_OK

Путь поиска успешно получен.

Замечания

Клиенты и поставщики услуг вызывают метод GetSearchPath , чтобы получить путь поиска, используемый для разрешения имен с помощью метода ResolveName . Как правило, клиенты вызывают метод IAddrBook::SetSearchPath , чтобы установить путь поиска контейнера в профиле, прежде чем вызывать GetSearchPath для его получения. Однако вызов SetSearchPath необязателен.

Если метод SetSearchPath никогда не вызывался, GetSearchPath создает путь путем работы с таблицами иерархии адресной книги. Путь поиска по умолчанию, установленный GetSearchPath , состоит из следующих контейнеров в следующем порядке:

  1. Первый контейнер с разрешением на чтение и запись, обычно это личная адресная книга (PAB).

  2. Каждому контейнеру со свойством PR_DISPLAY_TYPE (PidTagDisplayType) присвоено значение DT_GLOBAL. Этот параметр указывает, что контейнер содержит получателей.

  3. Контейнер, назначенный в качестве контейнера по умолчанию, если в свойстве PR_DISPLAY_TYPE нет контейнеров, для которых установлен флаг DT_GLOBAL, и контейнер по умолчанию отличается от первого контейнера с разрешением на чтение и запись.

Если был вызван Метод SetSearchPath , GetSearchPath создает путь с помощью контейнеров адресной книги, которые были сохранены в профиле. GetSearchPath проверяет этот путь, прежде чем вернуть его вызывающему объекту.

После первого вызова SetSearchPath последующие вызовы SetSearchPath должны использоваться для изменения пути поиска, возвращаемого GetSearchPath. Иными словами, вызывающий клиент или поставщик не получает путь поиска по умолчанию после первого вызова SetSearchPath.

См. также

IAddrBook::SetSearchPath

SRowSet

IAddrBook : IMAPIProp