Таблицы поставщиков
Область применения: Outlook 2013 | Outlook 2016
Таблица поставщиков содержит сведения о поставщиках услуг. Существует две разные таблицы поставщиков, реализованные MAPI и используемые клиентами. Первая таблица, доступ к которой выполняется путем вызова метода IMsgServiceAdmin::GetProviderTable , содержит сведения обо всех поставщиках для текущего профиля. Вторая таблица, доступ к ней осуществляется через IProviderAdmin::GetProviderTable, создает таблицу, в которую хранятся сведения обо всех поставщиках служб для службы сообщений.
Эти две таблицы отличаются друг от друга. Таблица поставщиков, доступная через IMsgServiceAdmin::GetProviderTable , содержит только строки, представляющие поставщиков услуг, в то время как таблица, доступная через IProviderAdmin::GetProviderTable , может содержать строки, представляющие дополнительную информацию, связанную с поставщиком услуг. Эти дополнительные сведения добавляются в профиль с разделами ключевое слово MAPISVC.INF. Если поставщик имеет дополнительные разделы профиля, он сохраняет значения MAPIUID для этих разделов в свойстве PR_SERVICE_EXTRA_UIDS (PidTagServiceExtraUids). PR_SERVICE_EXTRA_UIDS сохраняется в разделе профиль службы сообщений.
Следующие свойства составляют обязательный столбец, заданный в обоих типах таблиц поставщиков:
Свойство | Значение |
---|---|
PR_INSTANCE_KEY (PidTagInstanceKey) |
PR_DISPLAY_NAME (PidTagDisplayName) |
PR_PROVIDER_DISPLAY (PidTagProviderDisplay) |
PR_PROVIDER_DLL_NAME (PidTagProviderDllName) |
PR_PROVIDER_ORDINAL (PidTagProviderOrdinal) |
PR_PROVIDER_UID (PidTagProviderUid) |
PR_RESOURCE_FLAGS (PidTagResourceFlags) |
PR_RESOURCE_TYPE (PidTagResourceType) |
PR_SERVICE_NAME (PidTagServiceName) |
PR_SERVICE_UID (PidTagServiceUid) |
Таблицу поставщиков можно использовать для отображения текущего порядка транспорта или для его изменения. Чтобы отобразить текущий порядок, создайте ограничение, чтобы получить только те строки со свойством PR_RESOURCE_TYPE , для которого задано значение MAPI_TRANSPORT_PROVIDER. Затем используйте PR_PROVIDER_ORDINAL в качестве ключа сортировки для сортировки таблицы и получения всех строк с помощью метода IMAPITable::QueryRows или функции HrQueryAllRows .
Чтобы изменить порядок транспорта, примените то же ограничение и получите строки. Затем создайте массив значений из свойства PR_PROVIDER_UID , представляющего уникальные идентификаторы для поставщиков транспорта. Если идентификаторы находятся в нужном порядке, передайте их в метод IMsgServiceAdmin::MsgServiceTransportOrder .
После того как таблица поставщиков станет доступной, она не будет отражать последующие изменения, такие как добавление или удаление поставщика.