ADRLIST
Hace referencia a: Outlook 2013 | Outlook 2016
Describe cero o más propiedades que pertenecen a uno o varios destinatarios.
Valor | Descripción |
---|---|
Archivo de encabezado: |
Mapidefs.h |
Macros relacionadas: |
CbADRLIST, CbNewADRLIST, CbNewADRLIST |
typedef struct _ADRLIST
{
ULONG cEntries;
ADRENTRY aEntries[MAPI_DIM];
} ADRLIST, FAR *LPADRLIST;
Members
cEntries
Recuento de entradas en la matriz especificada por el miembro aEntries .
aEntries
Matriz de estructuras ADRENTRY , una estructura para cada destinatario.
Comentarios
Una estructura ADRLIST contiene una o varias estructuras ADRENTRY , cada una de las cuales describe las propiedades de un destinatario. Un destinatario puede no resolverse. Esto significa que carece de un identificador de entrada en su matriz de valores de propiedad. Un destinatario resuelto significa que se incluye la propiedad PR_ENTRYID (PidTagEntryId). Normalmente, los destinatarios resueltos también tienen una dirección de correo electrónico de la propiedad PR_EMAIL_ADDRESS (PidTagEmailAddress). Sin embargo, no es necesaria la dirección de correo electrónico. Las estructuras ADRLIST se usan, por ejemplo, para describir la lista de destinatarios de un mensaje saliente y mapi para mostrar las entradas en la libreta de direcciones.
Las estructuras ADRLIST son similares a las estructuras SRowSet que se usan para representar filas en tablas. De hecho, estas dos estructuras están diseñadas para que se puedan usar indistintamente. Ambos contienen una matriz de estructuras que describen un grupo de propiedades y un recuento de los valores de la matriz. Mientras que en la estructura ADRLIST , la matriz contiene estructuras ADRENTRY , en la estructura SRowSet la matriz contiene estructuras SRow . Las estructuras ADRENTRY y SRow son idénticas en el diseño. Dado que las estructuras ADRLIST y SRowSet siguen las mismas reglas de asignación, una estructura SRowSet que se recupera de la tabla de contenido de un contenedor de libreta de direcciones se puede convertir en una estructura ADRLIST y usarse tal cual.
En la ilustración siguiente se muestra el diseño de una estructura ADRLIST .
Las partes ADRENTRY y SPropValue de una estructura ADRLIST deben asignarse y liberarse independientemente de las demás partes. Es decir, cada estructura SPropValue se debe asignar individualmente después de asignar y liberar memoria para la estructura ADRENTRY antes de liberar la estructura ADRENTRY . Esta independencia en el control de la memoria permite que los destinatarios y las propiedades de destinatarios individuales se agreguen o eliminen libremente de la lista de direcciones.
Las funciones MAPIAllocateBuffer y MAPIFreeBuffer deben usarse para asignar y liberar la estructura ADRLIST y todas sus partes.
Si una lista de destinatarios es demasiado grande para caber en memoria, los clientes pueden llamar al método IMessage::ModifyRecipients para trabajar con un subconjunto de la lista. Los clientes no deben usar los cuadros de diálogo comunes de la libreta de direcciones en esta situación.
Para obtener más información sobre cómo asignar memoria para estructuras ADRENTRY , vea Administrar memoria para estructuras ADRLIST y SRowSet.