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


Класс CComDynamicUnkArray

Этот класс хранит массив указателей IUnknown .

Синтаксис

class CComDynamicUnkArray

Участники

Открытые конструкторы

Имя Описание
CComDynamicUnkArray::CComDynamicUnkArray Конструктор. Инициализирует значения коллекции значение NULL и размер коллекции до нуля.
CComDynamicUnkArray::~CComDynamicUnkArray Деструктор

Открытые методы

Имя Описание
CComDynamicUnkArray::Add Вызовите этот метод, чтобы добавить IUnknown указатель на массив.
CComDynamicUnkArray::begin Возвращает указатель на первый IUnknown указатель в коллекции.
CComDynamicUnkArray::clear Очищает массив.
CComDynamicUnkArray::end Возвращает указатель на один из последних IUnknown указателей в коллекции.
CComDynamicUnkArray::GetAt Извлекает элемент по указанному индексу.
CComDynamicUnkArray::GetCookie Вызовите этот метод, чтобы получить файл cookie, связанный с заданным IUnknown указателем.
CComDynamicUnkArray::GetSize Возвращает количество элементов, которые может хранить массив.
CComDynamicUnkArray::GetUnknown Вызовите этот метод, чтобы получить указатель, связанный IUnknown с заданным файлом cookie.
CComDynamicUnkArray::Remove Вызовите этот метод, чтобы удалить IUnknown указатель из массива.

Замечания

CComDynamicUnkArray содержит динамически выделенный массив указателей IUnknown , каждый интерфейс в точке подключения. CComDynamicUnkArray можно использовать в качестве параметра для класса шаблона IConnectionPointImpl .

CComDynamicUnkArray Методы начинаются и заканчиваются для цикла по всем точкам подключения (например, при срабатывании события).

Дополнительные сведения об автоматизации создания прокси-серверов точек подключения см. в статье "Добавление точек подключения к объекту ".

Примечание.

Обратите внимание , что класс CComDynamicUnkArray используется мастером добавления классов при создании элемента управления с точками подключения. Если вы хотите вручную указать количество точек подключения, измените ссылку на CComDynamicUnkArray CComUnkArray< n>, где n — это количество точек подключения, необходимых.

Требования

Заголовок: atlcom.h

CComDynamicUnkArray::Add

Вызовите этот метод, чтобы добавить IUnknown указатель на массив.

DWORD Add(IUnknown* pUnk);

Параметры

панк
Указатель IUnknown , добавляемый в массив.

Возвращаемое значение

Возвращает файл cookie, связанный с недавно добавленным указателем. Используйте этот файл cookie для получения указателя из массива с помощью CComDynamicUnkArray::GetAt.

Замечания

Позиция, в которой этот элемент вставляется, не обязательно будет непосредственно после последнего вставленного элемента, если Remove() он был вызван в этом массиве ранее. Используйте возвращенный файл cookie для надежного доступа к вставленной указателю. Размер массива может быть увеличен, чтобы разместить больше элементов. Используется GetSize() для получения нового размера.

CComDynamicUnkArray::begin

Возвращает указатель на начало коллекции IUnknown указателей интерфейса.

IUnknown**
    begin();

Возвращаемое значение

Указатель на IUnknown указатель интерфейса.

Замечания

Коллекция содержит указатели на интерфейсы, хранящиеся локально IUnknown. Вы приводите каждый IUnknown интерфейс к реальному типу интерфейса, а затем вызываете его. Сначала не нужно запрашивать интерфейс.

Прежде чем использовать IUnknown интерфейс, убедитесь, что он не имеет значения NULL.

CComDynamicUnkArray::clear

Очищает массив. Сбрасывает размер до 0.

void clear();

CComDynamicUnkArray::CComDynamicUnkArray

Конструктор.

CComDynamicUnkArray();

Замечания

Задает размер коллекции равным нулю и инициализирует значения NULL. Деструктор освобождает коллекцию при необходимости.

CComDynamicUnkArray::~CComDynamicUnkArray

Деструктор

~CComDynamicUnkArray();

Замечания

Освобождает ресурсы, выделенные конструктором классов.

CComDynamicUnkArray::end

Возвращает указатель на один из последних элементов в выделенном буфере массива.

Примечание. Это означает, что последний вставленный указатель не гарантируется, end()-1 так как массив не может быть заполнен емкостью.

IUnknown**
    end();

Возвращаемое значение

Указатель на IUnknown указатель интерфейса.

CComDynamicUnkArray::GetAt

Извлекает элемент по указанному индексу.

IUnknown* GetAt(int nIndex);

Параметры

nIndex
Индекс извлекаемого элемента.

Возвращаемое значение

Указатель на интерфейс IUnknown , если элемент был добавлен и существует в этом индексе; в противном случае NULL.

CComDynamicUnkArray::GetCookie

Вызовите этот метод, чтобы получить файл cookie, связанный с заданным IUnknown указателем.

DWORD WINAPI GetCookie(IUnknown** ppFind);

Параметры

ppFind
Указатель IUnknown , для которого требуется связанный файл cookie.

Возвращаемое значение

Возвращает файл cookie, связанный с IUnknown указателем, или ноль, если не найден соответствующий IUnknown указатель.

Замечания

Если имеется несколько экземпляров одного IUnknown указателя, эта функция возвращает файл cookie для первого.

CComDynamicUnkArray::GetSize

Возвращает выделенную емкость массива.

Примечание. Это не то же самое, что и количество элементов, отличных от NULL, в настоящее время в массиве.

int GetSize() const;

Возвращаемое значение

Количество элементов, которые может хранить массив. GetSize() == end() - begin().

CComDynamicUnkArray::GetUnknown

Вызовите этот метод, чтобы получить указатель, связанный IUnknown с заданным файлом cookie.

IUnknown* WINAPI GetUnknown(DWORD dwCookie);

Параметры

dwCookie
Файл cookie, для которого требуется связанный IUnknown указатель.

Возвращаемое значение

Возвращает указатель или ЗНАЧЕНИЕ NULL, если не найден соответствующий IUnknown файл cookie.

CComDynamicUnkArray::Remove

Вызовите этот метод, чтобы удалить IUnknown указатель из массива.

Все остальные элементы не изменяются и сохраняют их индекс и файл cookie.

BOOL Remove(DWORD dwCookie);

Параметры

dwCookie
Файл cookie, ссылающийся IUnknown на указатель, который нужно удалить из массива.

Возвращаемое значение

Возвращает значение TRUE, если указатель удаляется; в противном случае ЗНАЧЕНИЕ FALSE.

См. также

Класс CComUnkArray
Общие сведения о классе