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

接口的 IID。

HRESULT SetDelegate( GUID iid)

将委托分配给元数据生成器。

Iid

指定委托类型的 COM 接口 IID。

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

将接口组分配给元数据生成器。

name

指定接口组类型的完全限定名称。

defaultInterfaceName

默认接口 (的完全限定名称必须是非参数类型) 。

defaultInterfaceIID

可选。 如果为 null,则将进行单独的调用来解析默认接口类型。 如果不为 null,则为指向 GUID 的指针,该 GUID 包含 由 defaultInterfaceName 命名的默认接口的 IID。

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 的指针,该 GUID 包含 由 defaultInterfaceName 命名的默认接口的 IID。

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。 标志枚举的 baseType 默认为 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