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.