Compartilhar via


IMAPISupport::Address

Aplica-se a: Outlook 2013 | Outlook 2016

Exibe a caixa de diálogo endereço comum.

HRESULT Address(
  ULONG_PTR FAR * lpulUIParam,
  LPADRPARM lpAdrParms,
  LPADRLIST FAR * lppAdrList
);

Parâmetros

lpulUIParam

[in, out] Um ponteiro para o identificador da janela pai da caixa de diálogo. Na entrada, um identificador de janela deve ser sempre passado. Na saída, se o sinalizador DIALOG_SDI for definido na estrutura ADRPARM apontada pelo parâmetro lpAdrParms, o identificador de janela da caixa de diálogo modeless será retornado.

lpAdrParms

[in, out] Um ponteiro para uma estrutura ADRPARM que controla a apresentação e o comportamento da caixa de diálogo de endereço.

lppAdrList

[in, out] Um ponteiro para um ponteiro para uma lista de endereços. Na entrada, essa lista é a lista atual de destinatários em uma mensagem ou NULL, se nenhuma lista desse tipo existir. Na saída, lppAdrList aponta para uma lista atualizada de destinatários de mensagens.

Valor de retorno

S_OK

A caixa de diálogo endereço foi exibida com êxito.

Comentários

O método IMAPISupport::Address é implementado para objetos de suporte do provedor de catálogo de endereços. Os provedores de catálogo de endereços chamam Endereço para criar ou atualizar uma lista de destinatários de mensagens.

Cada destinatário é descrito em uma estrutura ADRENTRY incluída na estrutura ADRLIST apontada pelo parâmetro lppAdrList . A estrutura ADRENTRY contém uma matriz de valores de propriedade do destinatário, um dos quais é o tipo do destinatário ou a propriedade PR_RECIPIENT_TYPE (PidTagRecipientType). Essa estrutura ADRLIST pode ser passada para um cliente para usar como o parâmetro lpMods em uma chamada para IMessage::ModifiRecipients.

Cada destinatário na estrutura ADRLIST pode ser resolvido, o que indica que um de seus valores de propriedade é sua propriedade PR_ENTRYID (PidTagEntryId) ou não resolvido, o que indica que a propriedade PR_ENTRYID está ausente.

Além de PR_ENTRYID, os destinatários resolvidos incluem as seguintes propriedades:

Os destinatários não resolvidos normalmente incluem apenas PR_DISPLAY_NAME e PR_RECIPIENT_TYPE.

Notas para chamadores

A estrutura ADRLIST na qual o chamador passa pode ser um tamanho diferente da estrutura que o MAPI retorna. Ao alocar memória para a estrutura ADRLIST , aloque a memória para cada estrutura SPropValue separadamente.

Use os ponteiros para as funções de alocação de memória MAPI passadas para sua função ABProviderInit para alocar memória. Alocar memória com a função MAPIAllocateBuffer para ADRLIST e cada estrutura de valor de propriedade nas estruturas ADRENTRY no ADRLIST.

Se o Endereço precisar retornar uma estrutura ADRLIST maior ou se você tiver passado NULL para lppAdrList, o Endereço liberará a estrutura original e alocará uma nova. O endereço também aloca estruturas de valor de propriedade adicionais na estrutura ADRLIST e libera as antigas conforme apropriado. Para obter mais informações sobre como a memória é gerenciada para estruturas ADRLIST , consulte Gerenciando memória para estruturas ADRLIST e SRowSet.

O endereço retornará imediatamente se o sinalizador DIALOG_SDI foi definido na estrutura ADRPARM no parâmetro lpAdrParms .

Confira também

ABProviderInit
ADRENTRY
ADRLIST
ADRPARM
FreePadrlist
FreeProws
IMAPISupport::GetMemAllocRoutines
IMAPITable::QueryRows
IMessage::ModifyRecipients
MAPIAllocateBuffer
MAPIAllocateMore
MAPIFreeBuffer
Propriedade Canônica PidTagAddressType
Propriedade Canônica PidTagDisplayName
Propriedade Canônica PidTagDisplayType
Propriedade Canônica PidTagEntryId
Propriedade Canônica PidTagRecipientType
SPropValue
SRowSet
IMAPISupport : IUnknownManaging Memory for ADRLIST and SRowSet Structures