статистические выражения
Указывает, что объект, собирающий объект, заданный идентификатором CLSID.
[ aggregates(
clsid,
variable_name
) ]
Параметры
clsid
Задает CLSID aggregatable объекта.variable_name
Имя переменной, в которой вставляется. Эта переменная содержит IUnknown статистически вычислениеыми объекта.
Заметки
Применяется к объекту, агрегаты Атрибут C++ реализует внешнюю программу-оболочку для статистической обработке объекта (определяется by clsid).
Этот атрибут необходим CoClass" идентификатор progidили vi_progid атрибут (или другой атрибут, подразумевается одно из них) также были применены к одному элементу. Если отдельный атрибут используется, то остальные 2 автоматически применены. Например, если идентификатор progid применяет vi_progid и CoClass также применить.
Проекты ATL
Если этот атрибут используется в рамках проекта, использующий библиотеку ATL, расширения функциональности атрибута изменяется. Во-первых, следующая запись будет добавлена к сопоставлению модели COM целевого объекта:
COM_INTERFACE_ENTRY_AUTOAGGREGATE_BLIND(_m_spAttrXXX, clsid)
Во-вторых, DECLARE_GET_CONTROLLING_UNKNOWN макрос также добавляется.
Пример
// cpp_attr_ref_aggregates.cpp
// compile with: /LD
#define _ATL_ATTRIBUTES
#include "atlbase.h"
#include "atlcom.h"
// requires 'aggregatable.dll'
// see aggregatable attribute to create 'aggregatable.dll'
class DECLSPEC_UUID("1a8369cc-1c91-42c4-befa-5a5d8c9d2529") CMyClass;
[module (name="MYObject")];
[object, uuid("ab006d85-e754-47c5-9ef4-2744ff32a20c")]
__interface IObject
{
};
[ coclass, aggregates(__uuidof(CMyClass)),
uuid("91cb2c06-8931-432a-baac-206e55c4edfb")]
struct CObject : IObject
{
int i;
};
Требования
Контекст атрибута
Применение |
класс" struct |
Repeatable |
Да |
Обязательные атрибуты |
Одно или несколько из следующих значений: CoClass" идентификатор progidили vi_progid. |
Недопустимые атрибуты |
None |
Дополнительные сведения о контекстах атрибута см. в разделе Контексты атрибута.
См. также
Ссылки
COM_INTERFACE_ENTRY_AUTOAGGREGATE_BLIND