IMAPISupport::NewEntry
Aplica-se a: Outlook 2013 | Outlook 2016
Adiciona um novo destinatário diretamente a um contêiner de catálogo de endereços ou à lista de destinatários de uma mensagem de saída.
HRESULT NewEntry(
ULONG_PTR ulUIParam,
ULONG ulFlags,
ULONG cbEIDContainer,
LPENTRYID lpEIDContainer,
ULONG cbEIDNewEntryTpl,
LPENTRYID lpEIDNewEntryTpl,
ULONG FAR * lpcbEIDNewEntry,
LPENTRYID FAR * lppEIDNewEntry
);
Parâmetros
ulUIParam
[in] Um identificador para a janela pai da caixa de diálogo.
ulFlags
[in] Reservados; deve ser zero.
cbEIDContainer
[in] A contagem de bytes no identificador de entrada apontada pelo parâmetro lpEIDContainer .
lpEIDContainer
[in] Um ponteiro para o identificador de entrada do contêiner para receber a nova entrada. Se cbEIDContainer for 0 e lpEIDContainer for NULL, NewEntry criará um identificador de entrada único que é o mesmo tipo que é gerado por uma chamada para o método IMAPISupport::CreateOneOff .
cbEIDNewEntryTpl
[in] A contagem de bytes no identificador de entrada apontada pelo parâmetro lpEIDNewEntryTpl .
lpEIDNewEntryTpl
[in] Um ponteiro para o identificador de entrada do modelo a ser usado para criar a nova entrada. Se cbEIDNewEntryTpl for 0 e lpEIDNewEntryTpl for NULL, NewEntry exibirá uma caixa de diálogo que permite que o usuário selecione em uma lista de modelos para adicionar novas entradas.
lpcbEIDNewEntry
[out] Um ponteiro para a contagem de bytes no identificador de entrada apontado pelo parâmetro lppEIDNewEntry .
lppEIDNewEntry
[out] Um ponteiro para um ponteiro para o identificador de entrada da entrada recém-criada.
Valor de retorno
S_OK
A nova entrada foi criada com êxito.
Comentários
O método IMAPISupport::NewEntry é implementado para objetos de suporte do provedor de catálogo de endereços. Os provedores de catálogo de endereços chamam NewEntry para criar uma nova entrada de catálogo de endereços a ser adicionada diretamente a um contêiner ou a ser usada para resolver uma mensagem de saída.
Notas para chamadores
Se você quiser que a nova entrada seja adicionada a um contêiner específico, defina lpEIDContainer para o identificador de entrada do contêiner e cbEIDContainer para a contagem de bytes no identificador de entrada.
Se você quiser que a nova entrada seja adicionada à lista de destinatários de uma mensagem de saída, defina lpEIDContainer como NULL e cbEIDContainer como 0.
Se você quiser permitir que o usuário de um aplicativo cliente selecione o tipo de entrada a ser criado, passe 0 em cbEIDNewEntryTpl e NULL em lpEIDNewEntryTpl. NewEntry exibe a tabela única MAPI, uma lista de modelos que MAPI e cada um dos provedores de catálogo de endereços no suporte à sessão. Cada modelo pode criar uma entrada de destinatário para um ou mais tipos de endereço.
Se você quiser manter o identificador de entrada da nova entrada, passe ponteiros válidos nos parâmetros lpcbEIDNewEntry e lppEIDNewEntry . Você é responsável por liberar esse identificador de entrada quando terminar com ele chamando a função MAPIFreeBuffer .
Para usar um modelo específico para adicionar uma nova entrada a um contêiner modificável, use o seguinte procedimento:
Chame o método IMAPISupport::OpenEntry para abrir o contêiner de destino e defina o parâmetro lpEntryID como o identificador de entrada do contêiner.
Chame o método IMAPIProp::OpenProperty do contêiner de destino e defina o parâmetro ulPropTag como PR_CREATE_TEMPLATES (PidTagCreateTemplates) e o parâmetro lpiid como IID_IMAPITable. O contêiner retornará uma tabela única que lista todos os modelos compatíveis com a criação de novas entradas.
Recupere a linha que representa o modelo para o tipo específico de entrada que você deseja criar. A coluna PR_ADDRTYPE (PidTagAddressType) indica o tipo de endereço compatível com o modelo.
Chame IMAPISupport::NewEntry e defina o parâmetro lpEIDNewEntryTpl como o identificador de entrada do modelo selecionado. O identificador de entrada é a coluna PR_ENTRYID (PidTagEntryId) da linha do modelo na tabela única. Passe 0 em cbEIDContainer e NULL no lpEIDContainer. Passe um ponteiro válido no parâmetro lppEIDNewEntry se quiser manter o identificador de entrada da nova entrada.