Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
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) |