Compartilhar via


IProviderAdmin::GetProviderTable

Aplica-se a: Outlook 2013 | Outlook 2016

Fornece acesso à tabela do provedor do serviço de mensagem, uma lista dos provedores de serviços no serviço de mensagens.

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

Parâmetros

ulFlags

[in] Um bitmask de sinalizadores que controla o tipo das cadeias de caracteres retornadas nas colunas da tabela do provedor. O seguinte sinalizador pode ser definido:

MAPI_UNICODE

As colunas de cadeia de caracteres estão no formato Unicode. Se o sinalizador MAPI_UNICODE não estiver definido, as colunas estarão no formato ANSI.

lppTable

[out] Um ponteiro para um ponteiro para a tabela do provedor.

Valor de retorno

S_OK

A tabela do provedor foi retornada com êxito.

Comentários

O método IProviderAdmin::GetProviderTable recupera um ponteiro para a tabela do provedor do serviço de mensagem, uma tabela que o MAPI mantém que contém informações sobre cada provedor de serviços no serviço de mensagem.

Ao contrário da tabela de provedor retornada pelo método IMsgServiceAdmin::GetProviderTable , a tabela de provedor retornada por IProviderAdmin::GetProviderTable pode incluir linhas adicionais que representam informações associadas a um ou mais provedores de serviços no serviço de mensagem. Essas informações extras são adicionadas ao perfil com o palavra-chave "Seções" do arquivo Mapisvc.inf. Quando um provedor tem seções de perfil extras, ele armazena as estruturas 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.

Os provedores que foram excluídos ou estão em uso, mas foram marcados para exclusão, não estão incluídos na tabela do provedor. As tabelas do provedor são estáticas, o que significa que as adições subsequentes ou exclusões do serviço de mensagem não são refletidas na tabela.

Se o serviço de mensagem não tiver provedores, iProviderAdmin::GetProviderTable retornará uma tabela com zero linhas e o valor de retorno S_OK.

Definir o sinalizador MAPI_UNICODE no parâmetro ulFlags afeta o formato das colunas retornadas dos métodos IMAPITable::QueryColumns e IMAPITable::QueryRows .

Esse sinalizador também controla os tipos de propriedade na ordem de classificação retornada pelo método IMAPITable::QuerySortOrder .

Para obter uma lista completa das colunas na tabela do provedor, consulte Tabela do Provedor.

Notas para chamadores

Para recuperar as linhas de uma tabela de provedor na ordem de transporte, classifique a tabela pela coluna PR_PROVIDER_ORDINAL (PidTagProviderOrdinal).

Para recuperar apenas as linhas que representam provedores de serviço (sem incluir linhas extras), limite sua recuperação às linhas que têm um valor de PT_ERROR na coluna PR_RESOURCE_TYPE (PidTagResourceType).

Referência do MFCMAPI

Para ver códigos de exemplo do MFCMAPI, confira a tabela a seguir.

Arquivo Função Comentário
MsgServiceTableDlg.cpp
CMsgServiceTableDlg::OnDisplayItem
O MFCMAPI usa o método IProviderAdmin::GetProviderTable para fazer com que a tabela de provedores seja renderizada em uma nova caixa de diálogo.

Confira também

IMAPITable::QueryColumns

IMAPITable::QueryRows

IMAPITable::QuerySortOrder

IMAPITable::SetColumns

IMsgServiceAdmin::GetProviderTable

IProviderAdmin : IUnknown

MFCMAPI como exemplo de código