com4:ComServer
声明 windows.comServer 类型的包扩展点。 comServer 扩展可能包括类注册,包括实现这些类的服务器激活详细信息,以及 ProgId 和 TreatAsClass 注册,它们提供用于在运行时引用这些类的其他标识符。
元素层次结构
<com4:ComServer>
语法
<com4:ComServer>
<!-- Child elements -->
Class{0,1}
ExeServer{0,1}
ServiceServer{0,1}
SurrogateServer{0,1}
TreatAsClass{0,1}
ProgId{0,1}
InProcessServer{0,1}
InProcessHandler{0,1}
ManagedInProcessServer{0,1}
com5:InProcessServer{0,1}
com5:InProcessHandler{0,1}
</com4:ComServer>
密钥
{}
特定出现次数范围
特性和元素
特性
无。
子元素
子元素 | 说明 |
---|---|
类 | 在 COM 服务器中定义类注册。 |
ExeServer | 使用一个或多个类注册注册 ExeServer。 |
ServiceServer | 使用一个或多个类注册注册 ServiceServer。 |
SurrogateServer | 使用一个或多个类注册注册代理服务器。 |
TreatAsClass | 与 TreatAs 子项的 CLSID 注册相对应的注册。 |
ProgId | 编程标识符 (可以与 CLSID 关联的 ProgID) 。 |
InProcessServer | 使用一个或多个类注册注册进程内服务器。 |
InProcessHandler | 使用一个或多个类注册注册进程内处理程序。 |
ManagedInProcessServer | 使用一个或多个类注册注册托管进程内服务器。 |
com5:InProcessServer | 使用一个或多个类注册注册进程内服务器。 com5 架构对 com4 架构的语法验证进行了一些细微更改。 |
com5:InProcessHandler | 使用一个或多个类注册注册进程内处理程序。 com5 架构对 com4 架构的语法验证进行了一些细微更改。 |
父元素
父元素 | 描述 |
---|---|
com4:Extension | 提供向应用包外部的客户端公开 COM 注册的功能。 com4 扩展是新版本,它是以前的 COM 架构版本的超集和替代。 |
注解
在多应用程序包中,请务必将 COM 服务器注册放在正确的应用程序/应用程序清单元素下,因为 COM 服务器进程将使用上级 Applications/Application 元素的标识运行。
在清单中注册的 COM 服务器始终获取激活为包 (AAP) 行为,这意味着 COM 服务器使用用户会话默认令牌运行,并添加了包和应用程序声明。 这不同于经典注册的 COM 服务器的默认激活行为,其中 COM 服务器使用客户端的令牌运行。 对于大多数应用程序,这种差异将不明显,因为客户端通常使用用户会话默认令牌运行。 不支持其他激活行为,例如 运行方式。
应用程序/Application 元素下可能有多个 comServer 扩展,但在大多数情况下,这既没有必要也不推荐。 需要多个 comServer 扩展的边缘情况的一个示例是,如果一个包需要某些注册具有 CompatMode=“classic”,而另一些注册具有 CompatMode=“modern”,则执行此操作的唯一方法是在扩展之间拆分它们。
com4 扩展中的更改
com4 扩展语法是以前的 com 扩展语法的新超集。 此版本的语法支持与旧版语法相同的结构,其中类注册由 ExeServer/Class、SurrogateServer/Class、ServiceServer/Class、InProcessServer/Class、InProcessHandler/Class 或 ManagedInProcessServer/Class 元素表示。
新语法还支持替代结构,其中:
- ExeServer/ClassReference、SurrogateServer/ClassReference、ServiceServer/ClassReference、InProcessServer/ClassReference、InProcessHandler/ClassReference 或 ManagedInProcessServer/ClassReference 元素引用顶级类元素
和/或
- SurrogateServer/InProcessServerClassReference 元素引用 InProcessServer/Class (或者 InProcessServer/ClassReference) 或 ManagedInProcessServer/Class (ManagedInProcessServer/ClassReference) 元素。
新语法结构main目的是为同一 CLSID 启用进程内服务器、进程内处理程序和进程外服务器注册的组合,这在经典注册表布局中尽可能受支持。 有关 COM 注册表布局的详细信息,请参阅 CLSID 密钥。
要求
项 | 值 |
---|---|
Namespace | http://schemas.microsoft.com/appx/manifest/com/windows10/4 |
Minimum OS Version | Windows 10 (内部版本 20348) |