Compartilhar via


Identidade primária mapi

Aplica-se a: Outlook 2013 | Outlook 2016

A maioria das sessões MAPI tem um provedor de serviços específico que fornece a identidade primária para a sessão. Normalmente, ele é um provedor de catálogo de endereços, que fornece identidade por meio de um de seus objetos de usuário de mensagens ou listas de distribuição. Na verdade, o MAPI recomenda que os serviços de mensagem que incluem um provedor de catálogo de endereços usem um de seus objetos para a identidade primária. Quando um provedor de serviços que pertence a um serviço de mensagem fornece a identidade primária, todos os outros provedores de serviços no serviço de mensagem compartilham essa identidade.

O MAPISVC. O arquivo de configuração INF tem entradas relacionadas à identidade no nível do serviço de mensagem e do provedor de serviços. As seções de serviço de mensagem devem incluir uma entrada que afirma se o serviço pode ou não fornecer a identidade primária; As seções do provedor de serviços incluem uma entrada semelhante somente quando o provedor pode fornecer uma identidade.

A tabela a seguir lista as entradas que aparecem nas seções do serviço de mensagem e do provedor de serviços no MAPISVC. Arquivo INF.

Fornecedor de identidade primária configuração PR_RESOURCE_FLAGS
Serviço de mensagem
SERVICE_PRIMARY_IDENTITY
Não o serviço de mensagem
SERVICE_NO_PRIMARY_IDENTITY
Provedor de serviços
STATUS_PRIMARY_IDENTITY

Embora vários serviços de mensagem possam declarar sua capacidade de fornecer a identidade primária de uma sessão, apenas um serviço de mensagem está selecionado para fazê-lo. Essa seleção pode ocorrer:

  • Quando um perfil é criado.

  • Quando um cliente chama IMsgServiceAdmin::SetPrimaryIdentity para estabelecer explicitamente um serviço de mensagem específico como o provedor da identidade da sessão. Para obter mais informações. Consulte IMsgServiceAdmin::SetPrimaryIdentity.

Quando um perfil é criado, o MAPI designa o primeiro serviço de mensagem a ser configurado que inclui um provedor com o sinalizador STATUS_PRIMARY_IDENTITY definido em sua propriedade PR_RESOURCE_FLAGS (PidTagResourceFlags) para fornecer a identidade primária. No serviço de mensagem designado, o primeiro provedor a ser configurado com esse conjunto de sinalizadores de recurso é escolhido para fornecer a identidade do serviço. O sinalizador STATUS_PRIMARY_IDENTITY é limpo para todos os outros provedores no serviço designado e outros serviços de mensagem no perfil. Se a qualquer momento o provedor que fornece a identidade primária for removido do perfil, o MAPI atribuirá a função ao próximo provedor a ser configurado que pode fornecer identidade. Isso é determinado pela aparência da PR_RESOURCE_FLAGS=STATUS_PRIMARY_IDENTITY entrada na seção do provedor em MAPISVC.INF.

Quando um cliente chama o método IMsgServiceAdmin::SetPrimaryIdentity de um serviço de mensagem, ele especifica o MAPIUID para um provedor de serviços dentro do serviço de destino. Para obter mais informações, consulte MAPIUID. O provedor de serviços representado pelo MAPIUID é atribuído para fornecer a identidade primária para o serviço de mensagem e para a sessão, e todos os outros provedores do serviço compartilharão essa identidade.

Cada provedor no serviço de mensagem responsável pelo fornecimento da identidade primária atualiza sua linha na tabela status para incluir as propriedades a seguir.

Propriedade de identidade primária Definida como
PR_IDENTITY_DISPLAY (PidTagIdentityDisplay)
Nome de exibição do objeto que fornece a identidade primária.
PR_IDENTITY_SEARCH_KEY (PidTagIdentitySearchKey)
Chave de pesquisa para o objeto que fornece a identidade primária.
PR_IDENTITY_ENTRYID (PidTagIdentityEntryId)
Identificador de entrada para o objeto que fornece a identidade primária.

Para recuperar o identificador de entrada do objeto que fornece a identidade primária

  • Chame o método IMAPISession::QueryIdentity . Para obter mais informações, consulte IMAPISession::QueryIdentity. QueryIdentity pesquisa a tabela status da linha que contém o valor STATUS_PRIMARY_IDENTITY em sua coluna PR_RESOURCE_FLAGS e retorna o PR_IDENTITY_ENTRYID correspondente como o identificador de entrada da identidade primária.