Compartilhar via


IAddrBook::Address

Aplica-se a: Outlook 2013 | Outlook 2016

Exibe a caixa de diálogo catálogo de endereços do Outlook.

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

Parâmetros

lpulUIParam

[in, out] Um ponteiro para um identificador da janela pai da caixa de diálogo. Na entrada, um identificador de janela deve ser sempre passado. Na saída, se o membro ulFlags do parâmetro lpAdrParms estiver definido como DIALOG_SDI, o identificador de janela da caixa de diálogo modeless será retornado. Consulte os comentários.

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 estrutura ADRLIST que contém informações do destinatário. Na entrada, esse parâmetro pode ser NULL ou apontar para um ponteiro válido. Na saída, esse parâmetro aponta para um ponteiro para informações válidas do destinatário.

Valor de retorno

S_OK

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

Comentários

Se o membro ulFlags do parâmetro lpAdrParms estiver definido como DIALOG_SDI antecipando o retorno do identificador de janela da caixa de diálogo modeless na saída, ele será ignorado no Outlook; a versão modal da caixa de diálogo sempre é mostrada em clientes que não são do Outlook.

A estrutura ADRLIST passada de volta pelo MAPI para o chamador por meio do parâmetro lppAdrList contém uma matriz de estruturas ADRENTRY , uma estrutura para cada destinatário. Quando passada para o método IMessage::ModifiRecipients de uma mensagem de saída no parâmetro lpMods , a estrutura ADRLIST pode ser usada para atualizar sua lista de destinatários.

Cada estrutura ADRENTRY na estrutura ADRLIST contém zero ou mais estruturas SPropValue , uma estrutura para cada conjunto de propriedades para o destinatário. Não pode haver estruturas SPropValue zero quando a caixa de diálogo apresentada pelo método Address é usada para remover um destinatário. Quando há uma ou mais estruturas SPropValue , a estrutura ADRENTRY correspondente é usada para adicionar ou atualizar um destinatário. O destinatário pode ser resolvido, o que indica que uma das estruturas SPropValue descreve a propriedade PR_ENTRYID do destinatário (PidTagEntryId) ou não resolvida, o que indica que a propriedade PR_ENTRYID está ausente.

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

A estrutura ADRLIST na qual o chamador passa pode ser um tamanho diferente da estrutura que o MAPI retorna. Se MAPI precisar retornar uma estrutura ADRLIST maior, ela liberará a estrutura original e alocará uma nova. Ao alocar memória para a estrutura ADRLIST , aloque a memória para cada estrutura SPropValue separadamente. Para obter mais informações sobre como alocar e liberar estruturas ADRLIST , consulte Gerenciando memória para estruturas ADRLIST e SRowSet

O endereço retornará imediatamente se o sinalizador DIALOG_SDI for definido no membro ulFlags da estrutura ADRPARM no parâmetro lpAdrParms . O sinalizador DIALOG_SDI é ignorado para clientes que não são do Outlook. Se DIALOG_SDI for ignorado, a versão modal da caixa de diálogo será exibida e um ponteiro para um identificador não deverá ser esperado em lpulUIParam.

O endereço dá suporte a cadeias de caracteres Unicode na estrutura ADRPARM se AB_UNICODEUI tiver sido especificado no membro ulFlags do ADRPARM no parâmetro lpAdrParms e oferecer suporte a cadeias de caracteres Unicode no ADRLIST. As cadeias de caracteres Unicode são convertidas no formato MBCS (cadeia de caracteres multibyte) antes de serem exibidas na caixa de diálogo do catálogo de endereços do Outlook.

Referência do MFCMAPI

Para ver códigos de exemplo do MFCMAPI, confira a tabela a seguir.

Arquivo Função Comentário
MAPIStoreFunctions.cpp
OpenOtherUsersMailboxFromGal
O MFCMAPI usa o método Address para permitir que o usuário selecione qual caixa de correio abrir.

Confira também

ADRENTRY

ADRLIST

ADRPARM

FreePadrlist

FreeProws

IMAPITable::QueryRows

IMessage::ModifyRecipients

MAPIAllocateBuffer

MAPIAllocateMore

MAPIFreeBuffer

SPropValue

SRowSet

IAddrBook : IMAPIProp

MFCMAPI como exemplo de código

MFCMAPI como exemplo de código