ADRLIST
Aplica-se a: Outlook 2013 | Outlook 2016
Descreve zero ou mais propriedades que pertencem a um ou mais destinatários.
Valor | Descrição |
---|---|
Arquivo de cabeçalho: |
Mapidefs.h |
Macros relacionadas: |
CbADRLIST, CbNewADRLIST, CbNewADRLIST |
typedef struct _ADRLIST
{
ULONG cEntries;
ADRENTRY aEntries[MAPI_DIM];
} ADRLIST, FAR *LPADRLIST;
Members
cEntries
Contagem de entradas na matriz especificada pelo membro do aEntries .
aEntries
Matriz de estruturas ADRENTRY , uma estrutura para cada destinatário.
Comentários
Uma estrutura ADRLIST contém uma ou mais estruturas ADRENTRY , cada uma descrevendo as propriedades de um destinatário. Um destinatário pode não ser resolvido. Isso significa que ele não tem um identificador de entrada em sua matriz de valores de propriedade. Um destinatário resolvido significa que a propriedade PR_ENTRYID (PidTagEntryId) está incluída. Normalmente, os destinatários resolvidos também têm um endereço de email na propriedade PR_EMAIL_ADDRESS (PidTagEmailAddress). No entanto, o endereço de email não é necessário. As estruturas ADRLIST são usadas, por exemplo, para descrever a lista de destinatários de uma mensagem de saída e por MAPI para exibir as entradas no catálogo de endereços.
As estruturas ADRLIST se assemelham às estruturas SRowSet usadas para representar linhas em tabelas. Na verdade, essas duas estruturas são projetadas para que possam ser usadas de forma intercambiável. Ambos contêm uma matriz de estruturas que descrevem um grupo de propriedades e uma contagem dos valores na matriz. Enquanto na estrutura ADRLIST , a matriz contém estruturas ADRENTRY , na estrutura SRowSet a matriz contém estruturas SRow . Estruturas do ADRENTRY e estruturas SRow são idênticas no layout. Como as estruturas ADRLIST e SRowSet seguem as mesmas regras de alocação, uma estrutura SRowSet recuperada da tabela de conteúdo de um contêiner de catálogo de endereços pode ser lançada para uma estrutura ADRLIST e usada como está.
A ilustração a seguir mostra o layout de uma estrutura ADRLIST .
As partes ADRENTRY e SPropValue em uma estrutura ADRLIST devem ser alocadas e liberadas independentemente das outras partes. Ou seja, cada estrutura SPropValue deve ser alocada individualmente depois que a memória da estrutura ADRENTRY tiver sido alocada e liberada antes que a estrutura do ADRENTRY seja liberada. Essa independência no tratamento da memória permite que destinatários e propriedades individuais do destinatário sejam adicionados ou excluídos livremente da lista de endereços.
As funções MAPIAllocateBuffer e MAPIFreeBuffer devem ser usadas para alocar e liberar a estrutura ADRLIST e todas as suas partes.
Se uma lista de destinatários for muito grande para se ajustar à memória, os clientes poderão chamar o método IMessage::ModifiRecipients para trabalhar com um subconjunto da lista. Os clientes não devem usar as caixas de diálogo comuns do catálogo de endereços nessa situação.
Para obter mais informações sobre como alocar memória para estruturas ADRENTRY , consulte Gerenciando memória para estruturas ADRLIST e SRowSet.