Поделиться через


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 .

Компоненты ADRLIST компоненты

Части ADRENTRY и SPropValue в структуре ADRLIST должны быть выделены и освобождены независимо от других частей. То есть каждая структура SPropValue должна выделяться отдельно после выделения и освобождения памяти для структуры ADRENTRY до освобождения структуры ADRENTRY . Такая независимость в обработке памяти позволяет бесплатно добавлять или удалять из списка адресов получателей и отдельные свойства получателей.

Функции MAPIAllocateBuffer и MAPIFreeBuffer должны использоваться для выделения и освобождения структуры ADRLIST и всех ее частей.

Если список получателей слишком велик для размещения в памяти, клиенты могут вызвать метод IMessage::ModifyRecipients для работы с подмножеством списка. В этой ситуации клиенты не должны использовать общие диалоговые окна адресной книги.

Дополнительные сведения о выделении памяти для структур ADRENTRY см. в разделе Управление памятью для ADRLIST и структур SRowSet.

См. также