com4:ComServer
windows.comServer 형식의 패키지 확장 지점을 선언합니다. comServer 확장에는 이러한 클래스를 구현하는 서버에 대한 활성화 세부 정보 및 런타임에 이러한 클래스를 참조하는 데 사용되는 추가 식별자를 제공하는 ProgId 및 TreatAsClass 등록을 포함하여 클래스 등록이 포함될 수 있습니다.
요소 계층 구조
<com4:ComServer>
<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 | 하나 이상의 클래스 등록을 사용하여 SurrogateServer를 등록합니다. |
TreatAsClass | TreatAs 하위 키를 사용한 CLSID 등록에 해당하는 등록입니다. |
ProgId | CLSID와 연결할 수 있는 ProgID(프로그래밍 식별자)입니다. |
inProcessServer |
하나 이상의 클래스 등록을 사용하여 In-Process 서버를 등록합니다. |
inProcessHandler |
하나 이상의 클래스 등록을 사용하여 In-Process 처리기를 등록합니다. |
ManagedInProcessServer |
하나 이상의 클래스 등록을 사용하여 관리되는 In-Process 서버를 등록합니다. |
com5:InProcessServer | 하나 이상의 클래스 등록을 사용하여 In-Process 서버를 등록합니다. com5 스키마는 com4 스키마의 구문 유효성 검사에 몇 가지 사소한 변경 사항을 도입합니다. |
com5:InProcessHandler | 하나 이상의 클래스 등록을 사용하여 In-Process 처리기를 등록합니다. com5 스키마는 com4 스키마의 구문 유효성 검사에 몇 가지 사소한 변경 사항을 도입합니다. |
부모 요소
Parent 요소 | 묘사 |
---|---|
com4:Extension | 앱 패키지 외부의 클라이언트에 COM 등록을 노출하는 기능을 제공합니다. com4 확장은 이전 COM 스키마 버전의 상위 집합 및 대체 버전인 새 버전입니다. |
발언
다중 애플리케이션 패키지에서는 COM 서버 프로세스가 상위 Applications/Applications 요소의 ID로 실행되므로 올바른 애플리케이션/애플리케이션 매니페스트 요소 아래에 COM 서버 등록을 배치하는 것이 중요합니다.
매니페스트에 등록된 COM 서버는 항상 AAP(Activate As Package) 동작을 받습니다. 즉, COM 서버는 패키지 및 애플리케이션 클레임이 추가된 사용자 세션 기본 토큰으로 실행됩니다. 이는 클라이언트의 토큰을 사용하여 COM 서버가 실행되는 클래식하게 등록된 COM 서버의 기본 활성화 동작과 다릅니다. 대부분의 애플리케이션에서는 클라이언트가 일반적으로 사용자 세션 기본 토큰을 사용하여 실행되기 때문에 이러한 차이가 눈에 띄지 않습니다. RunAs같은 다른 활성화 동작은 지원되지 않습니다.
Applications/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) 요소를 참조합니다.
새 구문 구조의 주요 목적은 클래식 레지스트리 레이아웃에서 가능하고 지원되는 것과 같이 동일한 CLSID에 대해 In-Process 서버, In-Process 처리기 및 Out of process 서버 등록의 조합을 사용하도록 설정하는 것입니다. COM 레지스트리 레이아웃에 대한 자세한 내용은 CLSID 키참조하세요.
요구 사항
항목 | 값 |
---|---|
네임스페이스 |
http://schemas.microsoft.com/appx/manifest/com/windows10/4 |
최소 OS 버전 | Windows 10(빌드 20348) |