Localizando um nome de perfil

Aplica-se a: Outlook 2013 | Outlook 2016

Às vezes, os clientes precisam localizar o nome do perfil que está sendo usado atualmente para a sessão, o nome do perfil padrão ou o nome de um perfil alternativo instalado no computador.

Existem algumas maneiras de recuperar o nome de um perfil durante uma sessão. Se você precisar encontrar o nome de um perfil que não é necessariamente aquele que está sendo usado para a sessão, use o primeiro procedimento. Se você precisar encontrar o nome do perfil padrão, use o segundo procedimento. Se você precisar encontrar o nome do perfil atual da sessão, use o último procedimento.

Para localizar o nome de qualquer perfil

  1. Chame MAPIAdminProfiles para recuperar um ponteiro de interface IProfAdmin .

  2. Chame IProfAdmin::GetProfileTable para acessar a tabela de perfil.

  3. Chame o método IMAPITable::QueryRows da tabela de perfis para recuperar todas as linhas da tabela e examinar cada uma delas para determinar se ela representa seu perfil de destino.

Para localizar o nome do perfil padrão

  1. Chame MAPIAdminProfiles.

  2. Chame IProfAdmin::GetProfileTable para acessar a tabela de perfil.

  3. Crie uma restrição de propriedade com uma estrutura SPropertyRestriction para corresponder a PR_DEFAULT_PROFILE (PidTagDefaultProfile) com o valor TRUE.

  4. Chame IMAPITable::FindRow para localizar a linha na tabela de perfil que representa o perfil padrão. A coluna PR_DISPLAY_NAME (PidTagDisplayName) contém o nome do perfil padrão.

Para localizar o nome do perfil atual

Para localizar o nome do perfil atual, conclua uma das seguintes etapas:

  • Supondo que você tenha a estrutura MAPIUID representando uma das seções do perfil atual, passe-a no parâmetro lpUID para IMAPISession::OpenProfileSection. Recupere a propriedade PR_PROFILE_NAME (PidTagProfileName) da seção de perfil usando seu método IMAPIProp::GetProps .

  • Chame IMAPISession::GetStatusTable para acessar a tabela status e localizar a linha que tem sua coluna PR_RESOURCE_TYPE (PidTagResourceType) definida como MAPI_SUBSYSTEM. A coluna PR_DISPLAY_NAME dessa linha é o nome do perfil. Não use a tabela de status durante a inicialização, pois ela bloqueia um aplicativo até que o spooler MAPI tenha terminado de inicializar todos os provedores de transporte. Isso pode prejudicar seu desempenho.