Compartilhar via


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:

  1. 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.

  2. 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.

  3. 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.

  4. 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.

Confira também

IMAPIProp::OpenProperty

IMAPISupport::OpenEntry

Propriedade Canônica PidTagCreateTemplates

IMAPISupport: IUnknown