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, é 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 mensagens 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 mensagens fornece a identidade primária, todos os outros provedores de serviços no serviço de mensagens compartilham essa identidade.

O MAPISVC. O arquivo de configuração INF tem entradas relacionadas à identidade no nível do serviço de mensagens e do provedor de serviços. As seções do serviço de mensagens devem incluir uma entrada que indique 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 serviço de mensagens e provedor de serviços no MAPISVC. arquivo INF.

Fornecedor de identidade principal Configuração PR_RESOURCE_FLAGS
Serviço de mensagens
SERVICE_PRIMARY_IDENTITY
Não é o serviço de mensagens
SERVICE_NO_PRIMARY_IDENTITY
Service provider
STATUS_PRIMARY_IDENTITY

Embora vários serviços de mensagens possam declarar sua capacidade de fornecer a identidade primária de uma sessão, apenas um serviço de mensagens é selecionado para fazer isso. 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 mensagens a ser configurado que inclui um provedor com o sinalizador de 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 mensagens 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 a 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 no 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 mensagens e para a sessão, e todos os outros provedores no serviço compartilharão essa identidade.

Cada provedor no serviço de mensagens responsável por fornecer a identidade primária atualiza sua linha na tabela de 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 do 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 para o objeto que fornece a identidade primária

  • Chame o método IMAPISession::QueryIdentity . Para obter mais informações, consulte IMAPISession::QueryIdentity. QueryIdentity pesquisa na tabela de status a 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 para a identidade primária.