Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Aplica-se a: Outlook 2013 | Outlook 2016
Dependendo do perfil, um cliente precisará abrir um ou mais armazenamentos de mensagens durante uma sessão típica. Abrir um repositório de mensagens significa obter acesso a um ponteiro para sua implementação IMsgStore : IMAPIProp . A interface IMsgStore fornece métodos para notificação, fazer atribuições de pasta e acessar pastas e mensagens.
Os clientes abrem armazenamentos de mensagens no logon e quando um perfil está sendo modificado. Se o cliente permitir que os usuários adicionem armazenamentos de mensagens ao perfil durante uma sessão ativa, você poderá abri-los imediatamente ou ignorá-los até a próxima sessão. Ao se registrar para receber notificações na tabela de repositório de mensagens, você será alertado sobre a disponibilidade de um novo repositório de mensagens.
Para abrir um repositório de mensagens, você deve ter seu identificador de entrada disponível. A maioria dos clientes acessa os identificadores de entrada para os armazenamentos de mensagens que deseja abrir por meio da tabela de repositório de mensagens. No entanto, alguns repositórios de mensagens documentam o formato de seus identificadores de entrada, permitindo assim que os clientes ignorem a tabela de repositório de mensagens e construam o identificador de entrada necessário. Eles podem passar esse identificador de entrada diretamente para IMAPISession::OpenMsgStore e o MAPI cria automaticamente uma seção de perfil para o provedor sem associá-la a nenhum serviço de mensagens.
Recuperar um identificador de entrada da tabela de repositório de mensagens
Chame IMAPISession::GetMsgStoresTable para abrir a tabela de repositório de mensagens.
Chame IMAPITable::SetColumns para limitar a tabela a um pequeno conjunto de colunas que inclua as seguintes colunas:
- PR_PROVIDER_DISPLAY ou PR_DISPLAY_NAME
- PR_ENTRYID propriedades
- PR_MDB_PROVIDER
- PR_RESOURCE_FLAGS
Crie uma restrição para filtrar a linha que representa o repositório de mensagens a ser aberto. Para obter mais informações sobre como procurar o repositório de mensagens padrão, consulte Abrindo o repositório de mensagens padrão. Para procurar um repositório de mensagens por nome, aplique qualquer uma das seguintes restrições de propriedade:
Corresponder PR_PROVIDER_DISPLAY (PidTagProviderDisplay) ao nome geral para esse tipo de repositório de mensagens. Por exemplo, PR_PROVIDER_DISPLAY pode estar definido como "Pastas Particulares".
Combine PR_MDB_PROVIDER (PidTagStoreProvider) com o MAPIUID específico para esse tipo de repositório de mensagens.
Corresponder PR_DISPLAY_NAME (PidTagDisplayName) com o nome desse repositório de mensagens específico. Por exemplo, PR_DISPLAY_NAME pode ser definido como "Minhas Mensagens do Ano Fiscal de 2010".
Chame HrQueryAllRows para recuperar a linha apropriada da tabela de repositório de mensagens. O identificador de entrada para a linha será incluído na matriz de valor de propriedade para o membro aRow do conjunto de linhas apontado pelo parâmetro pprows .
Chame FreeProws para liberar o conjunto de linhas apontado por pprows.
Libere a tabela de repositório de mensagens chamando seu método IUnknown::Release .
Se você tiver criado um identificador de entrada personalizado para o repositório de mensagens a ser aberto, chame a função WrapStoreEntryID para convertê-lo em um identificador de entrada padrão.
Depois de ter o identificador de entrada do repositório de mensagens, chame um dos seguintes métodos para abri-lo:
Chame OpenMsgStore se precisar especificar uma variedade de opções especiais para o repositório de mensagens. OpenMsgStore permite suprimir a exibição de caixas de diálogo, identificar o repositório de mensagens como temporário ou como um repositório não relacionado a mensagens, definir níveis de acesso e adiar erros. O OpenEntry permite apenas definir níveis de acesso e adiar erros.
Definir o sinalizador de MDB_NO_MAIL indica ao MAPI que o repositório de mensagens não será usado para enviar ou receber mensagens. O serviço MAPI não informa o spooler MAPI sobre a existência desse repositório de mensagens. O sinalizador MDB_TEMPORARY designa um repositório de mensagens como temporário, o que implica que ele não pode ser usado para armazenar informações permanentes. Os armazenamentos temporários de mensagens não aparecem na tabela de repositório de mensagens.