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


Класс CComUnkArray

Этот класс хранит IUnknown указатели и предназначен для использования в качестве параметра для класса шаблона IConnectionPointImpl .

Синтаксис

template<unsigned int nMaxSize>
class CComUnkArray

Параметры

nMaxSize
Максимальное количество указателей IUnknown , которые могут храниться в статическом массиве.

Участники

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

Имя Описание
CComUnkArray::CComUnkArray Конструктор.

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

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

Замечания

CComUnkArray содержит фиксированное количество указателей IUnknown , каждый интерфейс в точке подключения. CComUnkArray можно использовать в качестве параметра для класса шаблона IConnectionPointImpl . CComUnkArray<1> — это специализация шаблона, оптимизированная CComUnkArray для одной точки подключения.

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

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

Примечание.

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

Требования

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

CComUnkArray::Add

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

DWORD Add(IUnknown* pUnk);

Параметры

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

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

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

CComUnkArray::begin

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

IUnknown**
    begin();

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

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

Замечания

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

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

CComUnkArray::CComUnkArray

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

CComUnkArray();

Замечания

Задает коллекцию для хранения nMaxSize IUnknown указателей и инициализирует указатели на NULL.

CComUnkArray::end

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

IUnknown**
    end();

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

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

Замечания

CComUnkArray Методы begin и end могут использоваться для цикла по всем точкам подключения, например при запуске события.

IUnknown** p = m_vec.begin();
while(p != m_vec.end())
{
   // Do something with *p
   p++;
}

CComUnkArray::GetCookie

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

DWORD WINAPI GetCookie(IUnknown** ppFind);

Параметры

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

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

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

Замечания

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

CComUnkArray::GetUnknown

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

IUnknown* WINAPI GetUnknown(DWORD dwCookie);

Параметры

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

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

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

CComUnkArray::Remove

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

BOOL Remove(DWORD dwCookie);

Параметры

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

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

Возвращает значение TRUE, если указатель удаляется, значение FALSE в противном случае.

См. также

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