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


Структура IRoSimpleMetaDataBuilder (roparameterizediid.h)

Предоставляет указатель метаданных с назначением для обнаруженных метаданных.

Этот элемент поддерживает инфраструктуру среда выполнения Windows и не предназначен для использования непосредственно из кода.

Синтаксис

struct IRoSimpleMetaDataBuilder {
  HRESULT SetWinRtInterface(
    GUID iid
  );
  HRESULT SetDelegate(
    GUID iid
  );
  HRESULT SetInterfaceGroupSimpleDefault(
    PCWSTR     name,
    PCWSTR     defaultInterfaceName,
    const GUID *defaultInterfaceIID
  );
  HRESULT SetInterfaceGroupParameterizedDefault(
    PCWSTR name,
    UINT32 elementCount,
    PCWSTR *defaultInterfaceNameElements
  );
  HRESULT SetRuntimeClassSimpleDefault(
    PCWSTR     name,
    PCWSTR     defaultInterfaceName,
    const GUID *defaultInterfaceIID
  );
  HRESULT SetRuntimeClassParameterizedDefault(
    PCWSTR       name,
    UINT32       elementCount,
    const PCWSTR *defaultInterfaceNameElements
  );
  HRESULT SetStruct(
    PCWSTR       name,
    UINT32       numFields,
    const PCWSTR *fieldTypeNames
  );
  HRESULT SetEnum(
    PCWSTR name,
    PCWSTR baseType
  );
  HRESULT SetParameterizedInterface(
    GUID   piid,
    UINT32 numArgs
  );
  HRESULT SetParameterizedDelegate(
    GUID   piid,
    UINT32 numArgs
  );
};

Члены

HRESULT SetWinRtInterface( GUID iid)

Назначает среда выполнения Windows интерфейс построителю метаданных.

IInspectable и другие интерфейсы, не относящиеся к среда выполнения Windows, не допускаются. Не для использования с параметризованными экземплярами типа.

Iid

ИИД для интерфейса.

HRESULT SetDelegate( GUID iid)

Назначает делегата построителю метаданных.

Iid

IID com-интерфейса для указанного типа делегата.

HRESULT SetInterfaceGroupSimpleDefault( PCWSTR name, PCWSTR defaultInterfaceName, const GUID *defaultInterfaceIID)

Назначает группу интерфейса построителю метаданных.

name

Полное имя указанного типа группы интерфейса.

defaultInterfaceName

Полное имя интерфейса по умолчанию (должен быть непараметрическим типом).

defaultInterfaceIID

Необязательный элемент. Если значение равно null, будет выполнен отдельный вызов для разрешения типа интерфейса по умолчанию. Если значение не равно NULL, указатель на GUID, содержащий IID для интерфейса по умолчанию с именем defaultInterfaceName.

HRESULT SetInterfaceGroupParameterizedDefault( PCWSTR name, UINT32 elementCount, PCWSTR *defaultInterfaceNameElements)

Назначает группе интерфейсов с параметризованным интерфейсом в качестве интерфейса по умолчанию для построителя метаданных.

Вызовите этот метод, если группа интерфейсов имеет параметризованный интерфейс в качестве интерфейса по умолчанию.

name

Полное имя указанного типа группы интерфейса.

elementCount

Количество элементов в массиве defaultInterfaceNameElements .

defaultInterfaceNameElements

Массив, возвращаемый roParseTypeName, который задает параметризованный экземпляр типа.

HRESULT SetRuntimeClassSimpleDefault( PCWSTR name, PCWSTR defaultInterfaceName, const GUID *defaultInterfaceIID)

Назначает класс времени выполнения построителю метаданных.

name

Полное имя указанного типа класса времени выполнения.

defaultInterfaceName

Полное имя интерфейса по умолчанию (должен быть непараметрическим типом).

defaultInterfaceIID

Необязательный элемент. Если значение равно null, будет выполнен отдельный вызов для разрешения типа интерфейса по умолчанию. Если значение не равно NULL, указатель на GUID, содержащий IID для интерфейса по умолчанию с именем defaultInterfaceName.

HRESULT SetRuntimeClassParameterizedDefault( PCWSTR name, UINT32 elementCount, const PCWSTR *defaultInterfaceNameElements)

Назначает параметризованный класс времени выполнения построителю метаданных.

name

Полное имя указанного типа класса времени выполнения.

elementCount

Количество элементов в массиве defaultInterfaceNameElements .

defaultInterfaceNameElements

Массив, возвращаемый roParseTypeName, который указывает экземпляр параметризованного типа.

HRESULT SetStruct( PCWSTR name, UINT32 numFields, const PCWSTR *fieldTypeNames)

Назначает структуру построителю метаданных.

name

Полное имя указанного типа структуры.

numFields

Количество полей в структуре, указывающее длину массива fieldTypeNames .

fieldTypeNames

Массив строк, определяющий типы каждого поля в структуре в порядке их отображения в метаданных. Этот порядок соответствует порядку макета в памяти.

HRESULT SetEnum( PCWSTR name, PCWSTR baseType)

Назначает перечисление построителю метаданных.

По умолчанию baseType простых перечислений — Int32. Базовый тип перечисления флагов по умолчанию — UInt32.

name

Полное имя указанного типа перечисления.

baseType

Базовый тип перечисления, как указано в метаданных.

HRESULT SetParameterizedInterface( GUID piid, UINT32 numArgs)

Назначает параметризованный интерфейс построителю метаданных.

Этот метод предназначен только для неисключаемого параметризованного интерфейса. Экземпляры обрабатываются с помощью RoGetParameterizedTypeInstanceIID, и вызывающему объекту не требуется их синтаксический анализ.

piid

IiD указанного параметризованного типа интерфейса.

numArgs

Число аргументов типа, необходимых для указанного параметризованного типа интерфейса.

HRESULT SetParameterizedDelegate( GUID piid, UINT32 numArgs)

Назначает параметризованный делегат построителю метаданных.

Этот метод предназначен только для неисключаемого параметризованного интерфейса. Экземпляры обрабатываются с помощью RoGetParameterizedTypeInstanceIID, и вызывающему объекту не требуется их синтаксический анализ.

piid

IiD указанного параметризованного типа делегата.

numArgs

Число аргументов типа, необходимых для указанного параметризованного типа делегата.

Требования

Требование Значение
Минимальная версия клиента Windows 8 [только классические приложения]
Минимальная версия сервера Windows Server 2012 [только классические приложения]
Верхняя часть roparameterizediid.h