IMsgServiceAdmin::GetProviderTable
Aplica-se a: Outlook 2013 | Outlook 2016
Fornece acesso à tabela do provedor, uma listagem dos provedores de serviços no perfil.
HRESULT GetProviderTable(
ULONG ulFlags,
LPMAPITABLE FAR * lppTable
);
Parâmetros
ulFlags
[in] Sempre NULL.
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 IMsgServiceAdmin::GetProviderTable fornece acesso à tabela do provedor MAPI, uma tabela que lista todos os provedores de endereços, repositório de mensagens e transporte atualmente instalados no perfil.
Ao contrário da tabela do provedor retornada por meio do método IProviderAdmin::GetProviderTable , a tabela do provedor retornada por meio de IMsgServiceAdmin::GetProviderTable não pode incluir linhas adicionais que representam informações associadas a um ou mais provedores de serviços no perfil.
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 perfil não são refletidas na tabela.
Se o perfil não tiver provedores, GetProviderTable retornará uma tabela com zero linhas e o valor de retorno S_OK.
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 em ordem de transporte, use o seguinte procedimento:
Chame o método IMAPITable::Restrict para impor uma restrição de propriedade que corresponda à propriedade PR_RESOURCE_TYPE (PidTagResourceType) com MAPI_TRANSPORT_PROVIDER.
Chame o método IMAPITable::SortTable para classificar a tabela pela coluna PR_PROVIDER_ORDINAL (PidTagProviderOrdinal).
Chame o método IMAPITable::QueryRows para obter as linhas da tabela.
Uma alternativa a essas chamadas é fazer uma única chamada para a função HrQueryAllRows com todas as estruturas de dados apropriadas passadas.
Se você recuperar as colunas PR_SERVICE_UID (PidTagServiceUid) em cada uma das linhas, poderá usar essa matriz de estruturas MAPIUID para definir a ordem de transporte em uma chamada para IMsgServiceAdmin::MsgServiceTransportOrder.
Definir o sinalizador de MAPI_UNICODE no parâmetro ulFlags faz o seguinte:
Define o tipo de cadeia de caracteres como Unicode para dados retornados para as colunas ativas iniciais da tabela do provedor pelo método IMAPITable::QueryColumns . As colunas ativas iniciais de uma tabela de provedor são essas colunas que o método QueryColumns retorna antes do provedor que contém a tabela que chama o método IMAPITable::SetColumns .
Define o tipo de cadeia de caracteres como Unicode para dados retornados para as linhas ativas iniciais da tabela do provedor por QueryRows. As linhas ativas iniciais de uma tabela de provedor são essas linhas queryRows retorna antes do provedor que contém a tabela chama SetColumns.
Controla os tipos de propriedade da ordem de classificação retornada pelo método IMAPITable::QuerySortOrder antes que o cliente que contém a tabela do provedor chame o método IMAPITable::SortTable .
Confira também
IMsgServiceAdmin::GetMsgServiceTable
IMsgServiceAdmin::MsgServiceTransportOrder