Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Этот класс хранит массив указателей 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.