IRoSimpleMetaDataBuilder structure (roparameterizediid.h)

Provides a metadata locator with a destination for the metadata it has discovered.

This member supports the Windows Runtime infrastructure and is not intended to be used directly from your code.

Syntax

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
  );
};

Members

HRESULT SetWinRtInterface( GUID iid)

Assigns a Windows Runtime interface to the metadata builder.

IInspectable and other non-Windows Runtime interfaces are not allowed. Not for use with parameterized type instances.

iid

The IID for the interface.

HRESULT SetDelegate( GUID iid)

Assigns a delegate to the metadata builder.

iid

COM interface IID for the specified delegate type.

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

Assigns an interface group to the metadata builder.

name

The fully qualified name of the specified interface group type.

defaultInterfaceName

The fully qualified name of the default interface (must be a non-parametric type).

defaultInterfaceIID

Optional. If null, a separate call will be made to resolve the default interface type. If not null, pointer to a GUID that contains the IID for the default interface named by defaultInterfaceName.

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

Assigns an interface group with a parameterized interface as the default interface to the metadata builder.

Call this method when an interface group has a parameterized interface as its default interface.

name

The fully qualified name of the specified interface group type.

elementCount

The number of elements in the defaultInterfaceNameElements array.

defaultInterfaceNameElements

An array, as would be returned by RoParseTypeName, that specifies a parameterized type instance.

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

Assigns a run-time class to the metadata builder.

name

The fully qualified name of the specified run-time class type.

defaultInterfaceName

The fully qualified name of the default interface (must be a non-parametric type).

defaultInterfaceIID

Optional. If null, a separate call will be made to resolve the default interface type. If not null, pointer to a GUID that contains the IID for the default interface named by defaultInterfaceName.

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

Assigns a parameterized run-time class to the metadata builder.

name

The fully qualified name of the specified run-time class type.

elementCount

The number of elements in the defaultInterfaceNameElements array.

defaultInterfaceNameElements

An array, as would be returned by RoParseTypeName, that specified a parameterized type instance.

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

Assigns a structure to the metadata builder.

name

The fully qualified name of the specified structure type.

numFields

The number of fields in the structure, specifying the length of the fieldTypeNames array.

fieldTypeNames

An array of strings specifying the types of each field in the structure, in the order that they appear in metadata. This order matches layout order in memory.

HRESULT SetEnum( PCWSTR name, PCWSTR baseType)

Assigns an enumeration to the metadata builder.

The baseType of plain enumerations defaults to Int32. The baseType of flags enumerations defaults to UInt32.

name

The fully qualified name of the specified enumeration type.

baseType

The base type of the enumeration, as specified by the metadata.

HRESULT SetParameterizedInterface( GUID piid, UINT32 numArgs)

Assigns a parameterized interface to the metadata builder.

This method is only for the non-instantiated parameterized interface. Instances are handled by RoGetParameterizedTypeInstanceIID, and the caller does not need to parse them.

piid

The IID of the specified parameterized interface type.

numArgs

The number of type arguments required by the specified parameterized interface type.

HRESULT SetParameterizedDelegate( GUID piid, UINT32 numArgs)

Assigns a parameterized delegate to the metadata builder.

This method is only for the non-instantiated parameterized interface. Instances are handled by RoGetParameterizedTypeInstanceIID, and the caller does not need to parse them.

piid

The IID of the specified parameterized delegate type.

numArgs

The number of type arguments required by the specified parameterized delegate type.

Requirements

Requirement Value
Minimum supported client Windows 8 [desktop apps only]
Minimum supported server Windows Server 2012 [desktop apps only]
Header roparameterizediid.h