com:Class (in SurrogateServer/Class)
Defines a SurrogateServer class registration.
Element hierarchy
<com:Class>
Syntax
<com:Class
Id = 'A GUID in the form xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx.'
Path = 'A string with a value between 1 and 256 characters in length that cannot contain these characters: <, >, :, ", |, ?, or *.'
ThreadingModel = 'A string that can be one of the following values: "Both", "STA", "MTA", "MainSTA", "Neutral".'
DisplayName = 'An optional string with a value between 1 and 256 characters in length. This string is localizable.'
EnableOleDefaultHandler = 'An optional boolean value.'
ProgId = 'An optional alphanumeric string separated by a period with a value between 1 and 255 characters in length (for example, Foo.Bar or Foo.Bar.1)'
VersionIndependentProgId = 'An optional alphanumeric string separated by a period with a value between 1 and 255 characters in length (for example, Foo.Bar or Foo.Bar.1)'
AutoConvertTo = 'An optional GUID in the form xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx.'
InsertableObject = 'An optional boolean value.'
ShortDisplayName = 'An optional string with a value between 1 and 40 characters in length.' >
<!-- Child elements -->
( ImplementedCategories,
Conversion?,
DataFormats?,
MiscStatus?,
Verbs?,
DefaultIcon?,
ToolboxBitmap32?
)
</com:Class>
Key
?
optional (zero or one)
Attributes and elements
Attributes
Attribute | Description | Data type | Required | Default value |
---|---|---|---|---|
Id | The Id attribute corresponds to the CLSID. | A GUID in the form xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx. | Yes | |
Path | The full path to the surrogate class DLL. | A string with a value between 1 and 256 characters in length that cannot contain these characters: < , > , : , " , | , ? , or * . |
Yes | |
ThreadingModel | The threading model for loading DLLs. | A string that can be one of the following values: Both, STA, MTA, MainSTA, Neutral. | Yes | |
DisplayName | A localizable string corresponding to the default value of the CLSID's key. | An optional string with a value between 1 and 256 characters in length. | No | |
EnableOleDefaultHandler | This should be set to true if the default value of the InprocHandler32 key is "Ole32.dll". Otherwise it should be omitted. The default value is false. | An optional boolean value. | No | |
ProgId | Associates a programmatic identifier (ProgID) with a CLSID. | An optional alphanumeric string separated by a period with a value between 1 and 255 characters in length (for example, Foo.Bar or Foo.Bar.1) | No | |
VersionIndependentProgId | Associates a ProgID with a CLSID. This value is used to determine the latest version of an object application. | An optional alphanumeric string separated by a period with a value between 1 and 255 characters in length (for example, Foo.Bar or Foo.Bar.1) | No | |
AutoConvertTo | Specifies the automatic conversion of a given class of objects to a new class of objects. | An optional GUID in the form xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx. | No | |
InsertableObject | Indicates that this class is insertable. | An optional boolean value. | No | |
ShortDisplayName | A short version of the class display name. | An optional string with a value between 1 and 40 characters in length. | No |
Child elements
Child element | Description |
---|---|
ImplementedCategories | Specifies categories implemented by the class. |
Conversion | Specifies the read/write permissions of a class. |
DataFormats | Specifies the default and main data formats supported. |
MiscStatus | Specifies how to create and display an object. |
Verbs | Specifies the verbs to be registered for an application. |
DefaultIcon | Provides default icon information for iconic presentations of objects. |
ToolboxBitmap32 | Identifies the module name and resource ID for a 16 x 16 bitmap to use for the face of a toolbar or toolbox button. |
Parent elements
Parent element | Description |
---|---|
com:SurrogateServer | Registers a SurrogateServer with one or many class registrations. |
Remarks
Class registrations with the same AppId should share a SurrogateServer, unless they need to be registered under different Applications/Application manifest elements.
The ThreadingModel corresponds to the InprocServer32 threading model. SurrogateServer class registrations should have an InprocServer32 registration in the package's private hive.
Requirements
Item | Value |
---|---|
Namespace | http://schemas.microsoft.com/appx/manifest/com/windows10 |
Minimum OS Version | Windows 10 version 1703 (Build 15063) |