Класс 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.