Tabelas do provedor
Aplica-se a: Outlook 2013 | Outlook 2016
Uma tabela de provedor contém informações sobre provedores de serviços. Há duas tabelas de provedor diferentes, ambas implementadas pelo MAPI e usadas por clientes. A primeira tabela, acessada chamando o método IMsgServiceAdmin::GetProviderTable , contém informações sobre todos os provedores para o perfil atual. A segunda tabela, acessada por meio de IProviderAdmin::GetProviderTable, cria uma tabela que armazena informações sobre todos os provedores de serviços para um serviço de mensagem.
Essas duas tabelas têm outra diferença. A tabela do provedor disponível por meio de IMsgServiceAdmin::GetProviderTable contém apenas linhas que representam provedores de serviços enquanto a tabela disponível por meio de IProviderAdmin::GetProviderTable pode incluir linhas que representam informações adicionais associadas a um provedor de serviços. Essas informações extras são adicionadas ao perfil com o palavra-chave "Seções" do MAPISVC.INF. Quando um provedor tem seções de perfil extras, ele armazena os valores MAPIUID para essas seções na propriedade PR_SERVICE_EXTRA_UIDS (PidTagServiceExtraUids). PR_SERVICE_EXTRA_UIDS é salvo na seção perfil do serviço de mensagem.
As seguintes propriedades compõem o conjunto de colunas necessário em ambos os tipos de tabelas de provedor:
Propriedade | Valor |
---|---|
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) |
A tabela do provedor pode ser usada para exibir a ordem de transporte atual ou alterá-la. Para exibir a ordem atual, crie uma restrição para recuperar apenas essas linhas com a propriedade PR_RESOURCE_TYPE definida como MAPI_TRANSPORT_PROVIDER. Em seguida, use PR_PROVIDER_ORDINAL como uma chave de classificação para classificar a tabela e recuperar todas as linhas com o método IMAPITable::QueryRows ou a função HrQueryAllRows .
Para alterar a ordem de transporte, aplique a mesma restrição e recupere as linhas. Em seguida, crie uma matriz de valores da propriedade PR_PROVIDER_UID que representa os identificadores exclusivos para os provedores de transporte. Quando os identificadores estiverem na ordem desejada, passe-os para o método IMsgServiceAdmin::MsgServiceTransportOrder .
Depois que uma tabela de provedor for disponibilizada, ela não refletirá alterações subsequentes, como a adição ou exclusão de um provedor.