Compartilhar via


ADRPARM

Aplica-se a: Outlook 2013 | Outlook 2016

Descreve a exibição e o comportamento da caixa de diálogo endereço comum.

Valor Descrição
Arquivo de cabeçalho:
Mapidefs.h
typedef struct _ADRPARM
{
  ULONG cbABContEntryID;
  LPENTRYID lpABContEntryID;
  ULONG ulFlags;
  LPVOID lpReserved;
  ULONG ulHelpContext;
  LPSTR lpszHelpFileName;
  LPFNABSDI lpfnABSDI;
  LPFNDISMISS lpfnDismiss;
  LPVOID lpvDismissContext;
  LPSTR lpszCaption;
  LPSTR lpszNewEntryTitle;
  LPSTR lpszDestWellsTitle;
  ULONG cDestFields;
  ULONG nDestFieldFocus;
  LPSTR FAR *lppszDestTitles;
  ULONG FAR *lpulDestComps;
  LPSRestriction lpContRestriction;
  LPSRestriction lpHierRestriction;
} ADRPARM, FAR *LPADRPARM;

Members

cbABContEntryID

Contagem de bytes no identificador de entrada apontado por lpABContEntryID.

lpABContEntryID

Ponteiro para o identificador de entrada do contêiner que fornece a lista inicial de endereços destinatários exibidos na caixa de diálogo endereço.

ulFlags

Bitmask de sinalizadores associados a várias opções de caixa de diálogo de endereço. Os seguintes sinalizadores podem ser definidos:

AB_RESOLVE

Habilite todos os nomes a serem resolvidos depois que a caixa de diálogo de endereço for fechada. Se houver entradas ambíguas resultantes do processo de resolução de nomes, uma caixa de diálogo aparecerá para solicitar ajuda ao usuário para resolvê-las. Definir esse sinalizador garante que todos os nomes retornados por IAddrBook::Address sejam resolvidos.

AB_SELECTONLY

Desabilite a criação de endereços únicos para uma lista de destinatários. Esse sinalizador será usado somente se a caixa de diálogo for modal, conforme indicado pelo sinalizador DIALOG_MODAL que está sendo definido.

ADDRESS_ONE

O usuário pode selecionar exatamente um destinatário em vez de vários destinatários de uma lista. Esse sinalizador é válido somente quando cDestFields é zero e a caixa de diálogo é modal, conforme indicado pelo sinalizador DIALOG_MODAL que está sendo definido.

DIALOG_MODAL

Faz com que a versão modal da caixa de diálogo de endereço comum seja exibida. Esse sinalizador ou DIALOG_SDI deve ser definido; ambos não podem ser definidos.

DIALOG_OPTIONS

Faz com que o botão Enviar Opções seja exibido na caixa de diálogo. Esse sinalizador será usado somente se a caixa de diálogo for modal, conforme indicado pelo sinalizador DIALOG_MODAL que está sendo definido.

DIALOG_SDI

Faz com que a versão modeless da caixa de diálogo de endereço comum seja exibida. Esse sinalizador ou DIALOG_MODAL deve ser definido; ambos não podem ser definidos. O sinalizador DIALOG_SDI é ignorado para clientes que não são do Outlook e a versão modal da caixa de diálogo será exibida. Consequentemente, um ponteiro para um identificador não deve ser esperado no parâmetro lpulUIParam de IAddrBook::Address.

lpReserved

Reservado, deve ser zero.

ulHelpContext

Especifica o contexto dentro da Ajuda que será mostrado pela primeira vez quando o usuário clicar no botão Ajuda na caixa de diálogo endereço.

lpszHelpFileName

Ponteiro para o nome de um arquivo de ajuda que será associado à caixa de diálogo endereço. O membro lpszHelpFileName é usado junto com ulHelpContext para chamar a função WinHelp do Windows.

lpfnABSDI

Ponteiro para uma função MAPI com base no protótipo ACCELERATEABSDI ou NULL. Esse membro aplica-se apenas à versão modeless da caixa de diálogo, conforme indicado pelo sinalizador DIALOG_SDI que está sendo definido. Os clientes que criam uma estrutura ADRPARM para passar para IAddrBook::Address devem sempre definir o membro lpfnABSDI como NULL. Se o sinalizador DIALOG_SDI for definido, o MAPI o definirá como uma função válida antes de retornar. Os clientes chamam essa função de em seu loop de mensagem para garantir que os aceleradores na caixa de diálogo do catálogo de endereços funcionem. Quando a caixa de diálogo é descartada e o MAPI chama a função apontada pelo membro lpfnDismiss , os clientes devem remover a função ACCELERATEABSDI do loop de mensagem.

lpfnDismiss

Ponteiro para uma função com base no protótipo DISMISSMODELESS ou NULL. Esse membro aplica-se apenas à versão modeless da caixa de diálogo somente, conforme indicado pelo sinalizador DIALOG_SDI que está sendo definido. MAPI chama a função DISMISSMODELESS quando o usuário descarta a caixa de diálogo endereço modeless, informando um cliente chamando IAddrBook::Address de que a caixa de diálogo não está mais ativa.

lpvDismissContext

Ponteiro para informações de contexto a serem passadas para a função DISMISSMODELESS apontada pelo membro lpfnDismiss . Esse membro aplica-se apenas à versão modeless da caixa de diálogo, conforme indicado pelo sinalizador DIALOG_SDI que está sendo definido.

lpszCaption

Ponteiro para texto a ser usado como o título da caixa de diálogo endereço comum.

lpszNewEntryTitle

Ponteiro para texto a ser usado como o rótulo de botão para o botão que invoca a caixa de diálogo Nova Entrada ou outra caixa de diálogo.

lpszDestWellsTitle

Ponteiro para texto a ser usado como um título para os controles de caixa de texto do destinatário que podem ser exibidos na versão modal da caixa de diálogo endereço comum. Esse membro não é usado para caixas de diálogo modeless.

cDestFields

Contagem de controles de caixa de texto do destinatário na versão modal da caixa de diálogo de endereço ou zero se a caixa de diálogo for modelagem. A caixa de diálogo endereço fica aberta para navegação somente quando as seguintes condições forem verdadeiras:

  • O membro cDestFields está definido como zero.

  • O sinalizador DIALOG_BOX está definido.

  • O sinalizador ADDRESS_ONE não está definido.

    Definir cDestFields como 0XFFFFFFFF implica que o MAPI deve criar o número padrão de controles de caixa de texto do destinatário. Nesse caso, os membros lppszDestTitles e lpulDestComps devem ser NULL.

nDestFieldFocus

Indica o controle de caixa de texto específico que deve ter o foco inicial quando a versão modal da caixa de diálogo for exibida. Esse valor deve estar entre 0 e o valor de cDestFields menos 1.

lppszDestTitles

Ponteiro para uma matriz de rótulos para botões associados a cada um dos controles da caixa de texto exibidos na versão modal da caixa de diálogo endereço. O valor do membro cDestFields indica o número de rótulos incluídos na matriz. Se o membro lppszDestTitles for NULL, o método Address usará títulos padrão.

lpulDestComps

Ponteiro para uma matriz de valores de tipo de destinatário, como MAPI_TO, MAPI_CC e MAPI_BCC, que está associado a cada controle de caixa de texto. O valor do membro CDestFields indica o número de tipos de destinatário incluídos na matriz. Os valores apontados por lpulDestComps podem ser usados para definir a propriedade PR_RECIPIENT_TYPE (PidTagRecipientType) de cada destinatário. Se o membro lpulDestComps for NULL, o método Address usará tipos de destinatário padrão.

lpContRestriction

Ponteiro para uma estrutura SRestriction que limita o tipo de entradas de endereço que podem ser exibidas na caixa de diálogo.

lpHierRestriction

Ponteiro para uma estrutura SRestriction que limita os contêineres do catálogo de endereços que podem fornecer entradas de endereço a serem exibidas na caixa de diálogo.

Comentários

As estruturas ADRPARM são usadas por clientes e provedores de serviços para controlar a aparência e o comportamento das caixas de diálogo de endereços comuns MAPI. Há duas variedades da caixa de diálogo endereço: modeless e modal. Alguns dos membros da estrutura ADRPARM se aplicam a ambas as versões da caixa de diálogo, mas alguns se aplicam apenas a uma das duas versões. A tabela a seguir relaciona os membros de uma estrutura ADRPARM ao seu uso com as caixas de diálogo de endereço comuns.

Membro do ADRPARM Tipo de caixa de diálogo
cbABContEntryID e lpABContEntryID
Modal e modeless
ulFlags
Modal e modeless
lpReserved
Modal e modeless
ulHelpContext e lpszHelpFileName
Modal e modeless
lpfnABSDI
Sem-modo
lpfnDismiss e lpvDismissContext
Sem-modo
lpszCaption
Modal e modeless
lpszNewEntryTitle
Modal
lpszDestWellsTitle, cDestFields, nDestFieldFocus, lppszDestTitles e lpulDestComps
Modal
lpContRestriction
Modal e modeless
lpHierRestriction
Modal e modeless

A caixa de diálogo modeless é uma exibição somente leitura de entradas de um ou mais contêineres de catálogo de endereços. A caixa de diálogo pode exibir todas as entradas dos contêineres selecionados ou limitar-se apenas às entradas e contêineres que correspondem aos critérios estabelecidos por uma restrição. A restrição de conteúdo apontada por lpContRestriction pode limitar os tipos de entradas exibidas e a restrição de hierarquia apontada por lpHierRestriction pode limitar os contêineres que fornecem as entradas. Para informar o chamador quando a caixa de diálogo é descartada, o MAPI invoca uma função fornecida pelo chamador que corresponde ao protótipo DISMISSMODELESS . Outra função, que corresponde ao protótipo ACCELERATEABSDI , é fornecida pelo MAPI e invocada pelo chamador no loop de mensagens do Windows para facilitar o trabalho de atalhos de teclado. A versão de modelagem da caixa de diálogo endereço MAPI pode ser exibida quando os clientes chamam IAddrBook::Address ou quando provedores de serviços chamam IMAPISupport::Address.

A caixa de diálogo modal é uma exibição de leitura/gravação de entradas de um ou mais contêineres. Seu conteúdo pode ser afetado da mesma maneira que a versão modeless por restrições definidas nos membros lpContRestriction e lpHierRestriction . Além da caixa de lista que exibe entradas de contêiner, a caixa de diálogo modal pode conter entre um e três controles de caixa de texto para manter entradas selecionadas pelo usuário. Cada controle de edição está associado a um determinado tipo de destinatário ou PR_RECIPIENT_TYPE propriedade, como MAPI_TO. A caixa de diálogo endereço modal pode ser exibida pelos métodos Address ou quando os clientes chamam IAddrBook::D etails e provedores de serviços chamam IMAPISupport::D etails.

Esta ilustração inclui dois controles de caixa de texto porque o membro cDestFields da estrutura ADRPARM que controla a exibição dessa caixa de diálogo está definido como 2. O primeiro controle tem foco inicial porque o membro nDestFieldFocus está definido como 0.

O membro lpszNewEntryTitle aponta para texto para um rótulo de botão que, quando ele é selecionado, faz com que uma caixa de diálogo adicional seja exibida. Normalmente, como é mostrado na ilustração da caixa de diálogo modal, o botão é rotulado como Novo e a caixa de diálogo que aparece lista todos os tipos de endereços que podem ser criados por qualquer um dos provedores de catálogo de endereços no perfil. Os clientes fazem com que essa caixa de diálogo Nova Entrada seja exibida chamando IAddrBook::NewEntry e passando zero para o parâmetro cbEidNewEntryTpl e NULL para o parâmetro lpEidNewEntryTpl quando o usuário seleciona o botão. As informações incluídas nesta caixa de diálogo são provenientes da tabela única MAPI.

Cada entrada nessa caixa de diálogo está associada a um modelo para inserir os dados necessários para criar um endereço do tipo específico. A maioria dos provedores de catálogo de endereços fornece um modelo para cada tipo de entrada de endereço que podem criar. Quando um usuário faz uma seleção dessa caixa de diálogo, o MAPI exibe o modelo correspondente.

Os quatro bits mais significativos do membro ulFlags da estrutura ADRPARM contêm um número de versão que identifica a versão da estrutura ADRPARM. A versão atual é 0 (zero) ou ADRPARM_HELP_CTX. A implementação atual do MAPI falhará em qualquer versão da estrutura diferente de zero.

Versões futuras da estrutura podem ser completamente diferentes; eles podem não dar suporte à estrutura de versão zero. As macros a seguir são fornecidas para extrair o número de versão do membro ulFlags e para combiná-lo com os sinalizadores definidos:

  • GET_ADRPARM_VERSION (ulFlags)
  • SET_ADRPARM_VERSION (ulFlags, ulVersion)
  • ADRPARM_HELP_CTX

Confira também