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


статистические выражения

Указывает, что объект, собирающий объект, заданный идентификатором 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

Дополнительные сведения о контекстах атрибута см. в разделе Контексты атрибута.

См. также

Ссылки

Aggregation

Aggregatable

COM_INTERFACE_ENTRY_AUTOAGGREGATE_BLIND

Другие ресурсы

Атрибуты COM

Атрибуты классов

Атрибуты Typedef, Enum, Union и Struct

Attributes Samples