com:Interface (descendant of com:Extension)
Registers new COM Interfaces.
Element hierarchy
<com:Interface>
<com:Interface>
Syntax
<com:Interface
Id = 'An alphanumeric string separated by a period with a value between 1 and 255 characters in length (for example, Foo.Bar or Foo.Bar.1).'
UseUniversalMarshaler = 'An optional boolean value.'
ProxyStubClsid = 'An optional GUID in the form xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx.'
SynchronousInterface = 'An optional GUID in the form xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx.'
AsynchronousInterface = 'An optional GUID in the form xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx.' >
<!-- Child elements -->
TypeLib?
</com:Interface>
Key
?
optional (zero or one)
Attributes and elements
Attributes
Attribute | Description | Data type | Required | Default value |
---|---|---|---|---|
Id | An interface Id (IID). | An alphanumeric string separated by a period between 1 and 255 characters in length (for example, Foo.Bar or Foo.Bar.1). | Yes | |
UseUniversalMarshaler | Set this to true to use the OLE Universal Marshaler as the proxy stub. | An optional boolean value. | No | |
ProxyStubClsid | Corresponds to the ProxyStubClsid32 registry value. | An optional GUID in the form xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx. | No | |
SynchronousInterface | The Id of another interface registration containing AsynchronousInterface that references this registration. The other interface must be in the same comInterface extension. | An optional GUID in the form xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx. | No | |
AsynchronousInterface | The Id of another interface registration containing SynchronousInterface that references this registration. The other interface must be in the same comInterface extension. | An optional GUID in the form xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx. | No |
Child elements
Child element | Description |
---|---|
com:TypeLib | A type library for an interface. |
Parent elements
Parent element | Description |
---|---|
com:ComInterface | Declares a package extension point of type windows.comInterface. The comInterface extension may include three types of registrations: Interface, ProxyStub, or TypeLib. |
Remarks
The ProxyStubClsid attribute must reference the Id of a ProxyStub in the same comInterface extension. ProxyStubClsid can only be used for proxy stubs with an implementation as part of the package. To use the OLE Universal Marshaler as the proxy stub, use UseUniversalMarshaler instead.
If UseUniversalMarshaler is true, the Interface registration must include TypeLib.
Note
ProxyStubClsid and UseUniversalMarshaler are mutually exclusive.
Requirements
Item | Value |
---|---|
Namespace | http://schemas.microsoft.com/appx/manifest/com/windows10 |
Minimum OS Version | Windows 10 version 1703 (Build 15063) |