Interface Element for COMLibrary (ProxyGen)

Represents a proxy interface for a COM interface in the host application's object model.

<Interface GUID = "GUID of COM interface"
    isExcluded = "true/false
    newName = "Name of proxy interface "
    newNamespace = "Namespace of proxy interface "
    originalFullyQualifiedName = "Fully qualified name of COM interface "
  <Attribute>...</Attribute>
  <BaseType>...</BaseType>
  <Delegate>...</Delegate>
  <Enum>...</Enum>
  <Event>...</Event>
  <ImplementedInterface>...</ImplementedInterface>
  <Method>...</Method>
  <Property>...</Property>
</Interface>

COMType_Type

Attributes and Elements

The following sections describe attributes, child elements, and parent elements.

Attributes

Attribute

Description

GUID

Required guid_Type attribute.

The GUID of the COM interface. The value must be a valid GUID without enclosing braces ({}).

isExcluded

Optional xs:boolean attribute.

true to omit the interface from the proxy code; false to include the interface in the proxy code. The default is false.

newName

Optional identifier_Type attribute.

The name of the new proxy interface.

newNamespace

Optional name_Type attribute.

The namespace of the new proxy interface.

originalFullyQualifiedName

Required xs:ID attribute.

The fully qualified name of the COM interface in the host application's object model.

SourceInterfaceGUID

Optional guid_Type attribute.

The GUID of the source interface. The value must be a valid GUID without enclosing braces ({}).

Child Elements

Element

Description

Attribute

Optional Attribute_Type element.

Represents an attribute that is applied to the interface.

BaseType

Optional TypeReference_Type element.

Describes the base type of the interface.

Delegate

Optional Delegate_Type element.

Represents a delegate that is defined in the interface.

Enum

Optional Enum_Type element.

Represents an enumeration that is defined in the interface.

Event

Optional COMEvent_Type element.

Represents an event that is defined in the interface.

ImplementedInterface

Optional TypeReference_Type element.

Represents an interface that the interface implements.

Method

Optional COMMethod_Type element.

Represents a method that is defined in the interface.

Property

Optional COMProperty_Type element.

Represents a property that is defined in the interface.

Parent Elements

Element

Description

COMLibrary

Describes the contents of the COM type library that was passed to ProxyGen.exe.

Example

The following example demonstrates an Interface element that represents a proxy interface named ShapeApp.Proxy.IShape. This interface includes a method named ContainsPoint and a property named Color.

<Interface originalFullyQualifiedName="ShapeApp.Proxy.IShape"
    GUID="AA4B9334-63A0-4C8B-AEE1-A759C0E66209"
    isExcluded="false">
  <Method originalName="ContainsPoint" isExcluded="false" dispId="5">
    <Parameter originalName="p">
      <Attribute>
        <Type>
          <ExternalTypeReference isInterface="false" type="System.Runtime.InteropServices.MarshalAsAttribute" />
        </Type>
        <Parameter value="Interface">
          <Type>
            <ExternalTypeReference isInterface="false" type="System.Runtime.InteropServices.UnmanagedType" />
          </Type>
        </Parameter>
      </Attribute>
      <Type>
        <TypeReference type="ShapeApp.Proxy.Point" />
      </Type>
    </Parameter>
    <ReturnType>
      <ExternalTypeReference isInterface="false" type="System.Boolean" />
    </ReturnType>
  </Method>
  <Property originalName="Color" isExcluded="false" dispId="1">
    <Type>
      <TypeReference type="ShapeApp.Proxy.Color" />
    </Type>
    <Get isExcluded="false">
      <Attribute>
        <Type>
          <ExternalTypeReference isInterface="false" type="System.Runtime.InteropServices.MarshalAsAttribute" />
        </Type>
        <Parameter value="Interface">
          <Type>
            <ExternalTypeReference isInterface="false" type="System.Runtime.InteropServices.UnmanagedType" />
          </Type>
        </Parameter>
      </Attribute>
    </Get>
    <Set isExcluded="false" invokeType="PutDispProperty">
      <Attribute>
        <Type>
          <ExternalTypeReference isInterface="false" type="System.Runtime.InteropServices.MarshalAsAttribute" />
        </Type>
        <Parameter value="Interface">
          <Type>
            <ExternalTypeReference isInterface="false" type="System.Runtime.InteropServices.UnmanagedType" />
          </Type>
        </Parameter>
      </Attribute>
    </Set>
  </Property>
</Interface>

Element Information

Namespace

https://schemas.microsoft.com/vsta/2008/01/ProxyGenDescriptor

Schema name

ProxyGen Descriptor

Validation file

ProxyGenDescriptorv2.xsd

Can be empty

Yes

See Also

Concepts

ProxyGen Descriptor Schema Reference

Creating Proxies

Defining Entry Points and Other Proxy Changes