Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Примечание.
Библиотека активных шаблонов (ATL) продолжает поддерживаться. Однако мы больше не добавляем функции или обновляем документацию.
Этот класс хранит массив указателей 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 используется мастером добавления классов при создании элемента управления с точками подключения. Если вы хотите вручную указать количество точек подключения, измените ссылку на CComDynamicUnkArrayCComUnkArray< 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.