Abrir uma mensagem
Aplica-se a: Outlook 2013 | Outlook 2016
Para abrir uma mensagem
Recupere o identificador de entrada da mensagem de uma das seguintes fontes:
A linha que representa a mensagem na tabela de conteúdo de sua pasta pai. Para obter mais informações sobre como trabalhar com uma tabela de conteúdo de pasta, consulte Tabelas de Conteúdo.
O membro lpEntryID da estrutura NEWMAIL_NOTIFICATION que é enviada com uma nova notificação por email. Para obter mais informações sobre como receber e lidar com notificações, consulte Tratamento de Notificações.
Uma chamada para o método IMAPIProp::GetProps da mensagem solicitando a propriedade PR_ENTRYID (PidTagEntryId).
Chame um dos seguintes métodos OpenEntry para abrir a mensagem, definindo lpEntryID para o identificador de entrada da mensagem:
O método mais rápido é utilizável apenas para mensagens de entrada e envolve chamar o método IMAPIFolder::OpenEntry da pasta de recebimento. O próximo método mais rápido, chamando o método IMsgStore::OpenEntry do repositório de mensagens, é utilizável para todas as mensagens, assim como o método mais lento, chamando IMAPISession::OpenEntry.
Observação
As pastas e suas tabelas de conteúdo podem ser fechadas a qualquer momento sem afetar negativamente qualquer uma das mensagens que foram abertas de dentro delas.
Para abrir uma mensagem que foi salva em disco
Chame StgOpenStorage para recuperar um ponteiro de interface IStorage , passando o nome do arquivo de mensagem para o parâmetro pwcsName .
LPSTORAGE pStorage = NULL; HRESULT hr = StgOpenStorage (L"MESSAGE.MSG", NULL, STGM_TRANSACTED | STGM_READWRITE | STGM_SHARE_EXCLUSIVE, NULL, 0, &pStorage);
Chame OpenIMsgOnIStg para recuperar um ponteiro de interface IMessage para acessar a mensagem.
LPMESSAGE pMessage = NULL; LPMALLOC pMalloc = MAPIGetDefaultMalloc(); hr = OpenIMsgOnIStg (NULL, MAPIAllocateBuffer, MAPIAllocateMore, MAPIFreeBuffer, pMalloc, NULL, pStorage, NULL, 0, 0, &pMessage);