ADRLIST
Область применения: Outlook 2013 | Outlook 2016
Описывает ноль или несколько свойств, принадлежащих одному или нескольким получателям.
Значение | Описание |
---|---|
Файл заголовка: |
Mapidefs.h |
Связанные макросы: |
CbADRLIST, CbNewADRLIST, CbNewADRLIST |
typedef struct _ADRLIST
{
ULONG cEntries;
ADRENTRY aEntries[MAPI_DIM];
} ADRLIST, FAR *LPADRLIST;
Members
cEntries
Количество записей в массиве, заданном элементом aEntries .
aEntries
Массив структур ADRENTRY , по одной структуре для каждого получателя.
Замечания
Структура ADRLIST содержит одну или несколько структур ADRENTRY , каждая из которых описывает свойства получателя. Получатель может быть неразрешен. Это означает, что в массиве значений свойств отсутствует идентификатор записи. Разрешенный получатель означает, что включено свойство PR_ENTRYID (PidTagEntryId). Как правило, разрешенные получатели также имеют адрес электронной почты со свойством PR_EMAIL_ADDRESS (PidTagEmailAddress). Однако адрес электронной почты не требуется. Структуры ADRLIST используются, например, для описания списка получателей для исходящего сообщения и mapi для отображения записей в адресной книге.
Структуры ADRLIST похожи на структуры SRowSet, используемые для представления строк в таблицах. На самом деле эти две структуры спроектированы таким образом, чтобы их можно было использовать взаимозаменяемо. Оба содержат массив структур, описывающих группу свойств и количество значений в массиве. В то время как в структуре ADRLIST массив содержит структуры ADRENTRY , в структуре SRowSet массив содержит структуры SRow . Структуры ADRENTRY и структуры SRow идентичны по макету. Так как структуры ADRLIST и SRowSet следуют одинаковым правилам распределения, структура SRowSet , полученная из таблицы содержимого контейнера адресной книги, может быть приведена к структуре ADRLIST и использоваться как есть.
На следующем рисунке показан макет структуры ADRLIST .
компоненты
Части ADRENTRY и SPropValue в структуре ADRLIST должны быть выделены и освобождены независимо от других частей. То есть каждая структура SPropValue должна выделяться отдельно после выделения и освобождения памяти для структуры ADRENTRY до освобождения структуры ADRENTRY . Такая независимость в обработке памяти позволяет бесплатно добавлять или удалять из списка адресов получателей и отдельные свойства получателей.
Функции MAPIAllocateBuffer и MAPIFreeBuffer должны использоваться для выделения и освобождения структуры ADRLIST и всех ее частей.
Если список получателей слишком велик для размещения в памяти, клиенты могут вызвать метод IMessage::ModifyRecipients для работы с подмножеством списка. В этой ситуации клиенты не должны использовать общие диалоговые окна адресной книги.
Дополнительные сведения о выделении памяти для структур ADRENTRY см. в разделе Управление памятью для ADRLIST и структур SRowSet.