Compartir a través de


IMAPISupport::Address

Hace referencia a: Outlook 2013 | Outlook 2016

Muestra el cuadro de diálogo dirección común.

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

Parameters

lpulUIParam

[entrada, salida] Puntero al identificador de la ventana primaria del cuadro de diálogo. En la entrada, siempre se debe pasar un identificador de ventana. En la salida, si la marca de DIALOG_SDI se establece en la estructura ADRPARM a la que apunta el parámetro lpAdrParms , se devuelve el identificador de ventana del cuadro de diálogo modeless.

lpAdrParms

[entrada, salida] Puntero a una estructura ADRPARM que controla la presentación y el comportamiento del cuadro de diálogo de dirección.

lppAdrList

[entrada, salida] Puntero a un puntero a una lista de direcciones. En la entrada, esta lista es la lista actual de destinatarios de un mensaje o NULL, si no existe dicha lista. En la salida, lppAdrList apunta a una lista actualizada de destinatarios de mensajes.

Valor devuelto

S_OK

El cuadro de diálogo dirección se mostró correctamente.

Comentarios

El método IMAPISupport::Address se implementa para los objetos de soporte técnico del proveedor de libretas de direcciones. Los proveedores de libreta de direcciones llaman a Address para crear o actualizar una lista de destinatarios de mensajes.

Cada destinatario se describe en una estructura ADRENTRY que se incluye en la estructura ADRLIST a la que apunta el parámetro lppAdrList . La estructura ADRENTRY contiene una matriz de valores de propiedad de destinatario, uno de los cuales es el tipo del destinatario o PR_RECIPIENT_TYPE propiedad (PidTagRecipientType). Esta estructura ADRLIST se puede pasar a un cliente para usarla como parámetro lpMods en una llamada a IMessage::ModifyRecipients.

Cada destinatario de la estructura ADRLIST se puede resolver, lo que indica que uno de sus valores de propiedad es su propiedad PR_ENTRYID (PidTagEntryId) o no resuelta, lo que indica que falta la propiedad PR_ENTRYID .

Además de PR_ENTRYID, los destinatarios resueltos incluyen las siguientes propiedades:

Normalmente, los destinatarios sin resolver incluyen solo PR_DISPLAY_NAME y PR_RECIPIENT_TYPE.

Notas para los llamadores

La estructura ADRLIST que pasa el autor de la llamada puede tener un tamaño diferente de la estructura que devuelve MAPI. Al asignar memoria para la estructura ADRLIST , asigne la memoria para cada estructura SPropValue por separado.

Use los punteros a las funciones de asignación de memoria MAPI que se pasan a la función ABProviderInit para asignar memoria. Asigne memoria con la función MAPIAllocateBuffer para ADRLIST y cada estructura de valor de propiedad en las estructuras ADRENTRY de ADRLIST.

Si Address debe devolver una estructura ADRLIST mayor o si ha pasado NULL para lppAdrList, Address libera la estructura original y asigna una nueva. Address también asigna estructuras de valor de propiedad adicionales en la estructura ADRLIST y libera las antiguas según corresponda. Para obtener más información sobre cómo se administra la memoria para las estructuras ADRLIST, vea Managing Memory for ADRLIST and SRowSet Structures(Administración de memoria para estructuras ADRLIST y SRowSet).

Address devuelve inmediatamente si la marca de DIALOG_SDI se estableció en la estructura ADRPARM del parámetro lpAdrParms .

Vea también

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