Compartilhar via


IMSLogon::OpenEntry

Aplica-se a: Outlook 2013 | Outlook 2016

Abre uma pasta ou objeto de mensagem e retorna um ponteiro para o objeto para fornecer mais acesso.

HRESULT OpenEntry(
  ULONG cbEntryID,
  LPENTRYID lpEntryID,
  LPCIID lpInterface,
  ULONG ulOpenFlags,
  ULONG FAR * lpulObjType,
  LPUNKNOWN FAR * lppUnk
);

Parâmetros

cbEntryID

[in] O tamanho, em bytes, do identificador de entrada apontado pelo parâmetro lpEntryID .

Lpentryid

[in] Um ponteiro para o endereço do identificador de entrada da pasta ou objeto de mensagem a ser aberto.

lpInterface

[in] Um ponteiro para o IID (identificador de interface) para o objeto. Passar NULL indica que o objeto é lançado para a interface padrão para tal objeto. O parâmetro lpInterface também pode ser definido como um identificador para uma interface apropriada para o objeto.

ulOpenFlags

[in] Um bitmask de sinalizadores que controla como o objeto é aberto. Os seguintes sinalizadores podem ser definidos:

MAPI_BEST_ACCESS

O objeto deve ser aberto com as permissões máximas permitidas para o usuário e as permissões máximas do aplicativo cliente. Por exemplo, se o cliente tiver permissão de leitura/gravação, o objeto será aberto com permissão de leitura/gravação; se o cliente tiver permissão somente leitura, o objeto será aberto com permissão somente leitura. O cliente pode recuperar o nível de permissão obtendo a propriedade PR_ACCESS_LEVEL (PidTagAccessLevel).

MAPI_DEFERRED_ERRORS

A chamada pode ter êxito mesmo que o objeto subjacente não esteja disponível para o aplicativo de chamada. Se o objeto não estiver disponível, uma chamada subsequente ao objeto poderá retornar um erro.

MAPI_MODIFY

Solicita permissão de leitura/gravação. Por padrão, os objetos são criados com permissão somente leitura e os clientes não devem trabalhar na suposição de que a permissão de leitura/gravação foi concedida.

lpulObjType

[out] Um ponteiro para o tipo do objeto aberto.

Lppunk

[out] Um ponteiro para o ponteiro para o objeto aberto.

Valor de retorno

S_OK

A chamada foi bem-sucedida e retornou o valor ou valores esperados.

Comentários

MAPI chama o método IMSLogon::OpenEntry para abrir uma pasta ou uma mensagem em um repositório de mensagens. MAPI passa no identificador de entrada do objeto a ser aberto. O provedor do repositório de mensagens deve retornar um ponteiro que permita mais acesso ao objeto especificado no parâmetro lppUnk .

Antes que o MAPI chame IMSLogon::OpenEntry, ele primeiro determina que o identificador de entrada de pasta ou mensagem fornecida corresponde a um registrado por este provedor do repositório de mensagens. Para obter mais informações sobre como os provedores de loja registram identificadores de entrada, consulte IMAPISupport::SetProviderUID.

IMSLogon::OpenEntry é idêntico ao método IMsgStore::OpenEntry do objeto do repositório de mensagens, exceto que o cliente não chama IMSLogon::OpenEntry; MAPI chama IMSLogon::OpenEntry quando processa um método IMAPISession::OpenEntry . Os objetos abertos usando o IMSLogon::OpenEntry devem ser tratados exatamente da mesma forma que os objetos abertos usando o objeto do repositório de mensagens; em particular, os objetos abertos usando essa chamada devem ser invalidados quando o objeto do repositório de mensagens for lançado.

Confira também

IMAPISupport::SetProviderUID

IMsgStore::OpenEntry

IMSLogon : IUnknown