com4:ComInterface
Declares a package extension point of type windows.comInterface. The comInterface extension may include three types of registrations: Interface, ProxyStub, or TypeLib.
Element hierarchy
<com4:ComInterface>
<com4:ComInterface>
Syntax
<com4:ComInterface>
<!-- Child elements -->
ProxyStub{0,1}
Interface{0,1}
TypeLib{0,1}
</com4:ComInterface>
Key
{}
specific range of occurrences
Attributes and elements
Attributes
None.
Child elements
Child element | Description |
---|---|
ProxyStub | Registers a proxy stub. |
Interface | Registers new COM interfaces |
TypeLib | Registers a type library. |
Parent elements
Parent element | Description |
---|---|
com4:Extension | Provides functionality to expose COM registrations to clients outside of the app package. The com4 extension is a new version that is a superset of and replacement for the previous COM schema versions. |
Remarks
The comInterface extension can be under the Application/Extensions/Extension manifest element, or under the Package/Extensions/Extension manifest element. There is no functional difference between these two options, but both placements have different advantages.
If the extension is under Application/Extensions/Extension, you can improve the readability of the manifest by keeping interface registrations near the class registrations that implement them. However, if you place the extension under Package/Extensions/Extension, you won't need to determine which Application to use for each interface.
It is possible to have multiple comInterface extensions under the Applications/Application element, but in most cases this is neither necessary nor recommended. An example of an edge case where multiple comInterface extensions are needed is if a package needs some of the registrations to have CompatMode="classic" while others have CompatMode="modern", the only way to do this is to split them between extensions.
Note
Any registrations in comInterface that depend on another registration (e.g. an Interface references a ProxyStub and/or a TypeLib) must be in the same comInterface extension.
Requirements
Item | Value |
---|---|
Namespace | http://schemas.microsoft.com/appx/manifest/com/windows10/4 |
Minimum OS Version | Windows 10 (Build 20348) |