Compartilhar via


OpenIMsgSession

Aplica-se a: Outlook 2013 | Outlook 2016

Cria e abre uma sessão de mensagem que agrupa as mensagens criadas dentro dela.

Propriedade Valor
Arquivo de cabeçalho:
Imessage.h
Implementado por:
MAPI
Chamado por:
Aplicativos cliente e provedores de serviços
SCODE OpenIMsgSession(
  LPMALLOC lpMalloc,
  ULONG ulFlags,
  LPMSGSESS FAR * lppMsgSess
);

Parâmetros

lpMalloc

[in] Ponteiro para um objeto alocador de memória expondo a interface OLE IMalloc . O MAPI precisa usar esse método de alocação ao trabalhar com a interface OLE IStorage .

ulFlags

[in] Reservados; deve ser zero.

lppMsgSess

[out] Ponteiro para um ponteiro para o objeto de sessão de mensagem retornado.

Valor de retorno

S_OK

A sessão foi aberta.

MAPI_E_INVALID_PARAMETER

lpMalloc ou lppMsgSess é NULL.

MAPI_E_INVALID_FLAGS

Sinalizadores inválidos foram passados.

MAPI_UNICODE

Ao chamar essa função, um cliente ou provedor de serviço define o sinalizador MAPI_UNICODE para criar arquivos unicode .msg. O arquivo Imessage resultante mostra STORE_UNICODE_OK em seu PR_STORE_SUPPORT_MASK e dá suporte a propriedades Unicode.

Comentários

Uma sessão de mensagem é usada por aplicativos cliente e provedores de serviços que desejam lidar com vários objetos MAPI IMessage : IMAPIProp relacionados criados em cima de objetos OLE IStorage subjacentes. O cliente ou provedor usa as funções OpenIMsgSession e CloseIMsgSession para encerrar a criação dessas mensagens dentro de uma sessão de mensagem. Depois que a sessão de mensagem é aberta, o cliente ou provedor passa um ponteiro para ele em uma chamada para OpenIMsgOnIStg para criar um novo objeto IMessage-on-IStorage.

Uma sessão de mensagem mantém o controle de todos os objetos IMessage-on-IStorage criados durante a sessão, além de todos os anexos e outras propriedades das mensagens. Quando um cliente ou provedor chama CloseIMsgSession, ele fecha todos esses objetos. Chamar CloseIMsgSession é a única maneira de fechar objetos IMessage-on-IStorage.

OpenIMsgSession é usado por clientes e provedores que exigem a capacidade de lidar com várias mensagens relacionadas como objetos OLE IStorage . Se apenas uma dessas mensagens for aberta por vez, não haverá necessidade de rastrear várias mensagens e nenhum motivo para criar uma sessão de mensagem com OpenIMsgSession.

Como ele está lidando com um objeto OLE subjacente, o MAPI precisa usar a alocação de memória OLE. Para obter mais informações sobre objetos de armazenamento estruturados OLE e alocação de memória OLE, consulte OLE e Transferência de Dados.