Класс 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 в противном случае.