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


IMsgServiceAdmin::GetProviderTable

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

Предоставляет доступ к таблице поставщиков, списку поставщиков услуг в профиле.

HRESULT GetProviderTable(
  ULONG ulFlags,
  LPMAPITABLE FAR * lppTable
);

Параметры

ulFlags

[в] Всегда значение NULL.

lppTable

[out] Указатель на указатель на таблицу поставщика.

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

S_OK

Таблица поставщиков успешно возвращена.

Замечания

Метод IMsgServiceAdmin::GetProviderTable предоставляет доступ к таблице поставщиков MAPI, таблице со списком всех адресных книг, хранилищ сообщений и поставщиков транспорта, установленных в профиле.

В отличие от таблицы поставщиков, возвращаемой методом IProviderAdmin::GetProviderTable , таблица поставщиков, возвращенная через IMsgServiceAdmin::GetProviderTable , не может содержать дополнительные строки, представляющие сведения, связанные с одним или несколькими поставщиками служб в профиле.

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

Если у профиля нет поставщиков, GetProviderTable возвращает таблицу с нулевыми строками и возвращаемым значением S_OK.

Полный список столбцов в таблице поставщиков см. в разделе Таблица поставщиков.

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

Чтобы получить строки таблицы поставщиков в порядке транспорта, выполните следующую процедуру:

  1. Вызовите метод IMAPITable::Restrict , чтобы ввести ограничение свойства, соответствующее свойству PR_RESOURCE_TYPE (PidTagResourceType) с MAPI_TRANSPORT_PROVIDER.

  2. Вызовите метод IMAPITable::SortTable , чтобы отсортировать таблицу по столбцу PR_PROVIDER_ORDINAL (PidTagProviderOrdinal).

  3. Вызовите метод IMAPITable::QueryRows , чтобы получить строки таблицы.

Альтернативой этим вызовам является один вызов функции HrQueryAllRows со всеми соответствующими структурами данных.

Если вы извлекаете столбцы PR_SERVICE_UID (PidTagServiceUid) в каждой из строк, этот массив структур MAPIUID можно использовать для задания порядка транспорта в вызове IMsgServiceAdmin::MsgServiceTransportOrder.

Задание флага MAPI_UNICODE в параметре ulFlags выполняет следующие действия:

  • Задает тип строки в Юникоде для данных, возвращаемых для начальных активных столбцов таблицы поставщиков методом IMAPITable::QueryColumns . Начальные активные столбцы для таблицы поставщика — это столбцы, возвращаемые методом QueryColumns , прежде чем поставщик, содержащий таблицу, вызывает метод IMAPITable::SetColumns .

  • Задает тип строки в Юникоде для данных, возвращаемых для начальных активных строк таблицы поставщиков методом QueryRows. Начальные активные строки для таблицы поставщиков — это строки , которые QueryRows возвращает перед поставщиком, содержащим таблицу, вызывает SetColumns.

  • Управляет типами свойств порядка сортировки, возвращаемым методом IMAPITable::QuerySortOrder , прежде чем клиент, содержащий таблицу поставщиков, вызывает метод IMAPITable::SortTable .

См. также

IMsgServiceAdmin::GetMsgServiceTable

IMsgServiceAdmin::MsgServiceTransportOrder

IProviderAdmin::GetProviderTable

IMsgServiceAdmin : IUnknown