com:Class (in SurrogateServer/Class)

Description

Defines a SurrogateServer class registration.

Element Hierarchy

<Package>
<Applications>
<Application>
<Extensions>
<com:Extension>
<com:ComServer>
<com:SurrogateServer>
<com:Class>

Syntax

<com:Class
    Id = A GUID in the form xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx.
    Path = A string between 1 and 256 characters in length that cannot contain these characters: <, >, :, ", |, ?, or *.
    ThreadingModel = String value, valid choices are: Both, STA, MTA, MainSTA, Neutral.
    DisplayName? = A string between 1 and 256 characters in length. This string is localizable.
    EnableOleDefaultHandler? = Boolean.
    ProgId? = An alphanumeric string separated by a period between 1 and 255 characters in length, e.g. Foo.Bar or Foo.Bar.1
    VersionIndependentProgId? = An alphanumeric string separated by a period between 1 and 255 characters in length, e.g. Foo.Bar or Foo.Bar.1
    AutoConvertTo? = A GUID in the form xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx.
    InsertableObject? = Boolean.
    ShortDisplayName? = A string between 1 and 40 characters in length. >

  <!-- Child elements -->
  ( ImplementedCategories,
  Conversion?,
  DataFormats?,
  MiscStatus?,
  Verbs?,
  DefaultIcon?,
  ToolboxBitmap32? 
  )
</com:Class>

Key

?   optional (zero or one)

Attributes

Attribute Description Data type Required
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 between 1 and 256 characters in length that cannot contain these characters: <, >, :, ", |, ?, or *. Yes
ThreadingModel The threading model for loading DLLs. String value, valid choices are: Both, STA, MTA, MainSTA, Neutral. Yes
DisplayName A localizable string corresponding to the default value of the CLSID's key. A string 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. Boolean. No
ProgId Associates a programmatic identifier (ProgID) with a CLSID. An alphanumeric string separated by a period between 1 and 255 characters in length, e.g. 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 alphanumeric string separated by a period between 1 and 255 characters in length, e.g. Foo.Bar or Foo.Bar.1 No
AutoConvertTo Specifies the automatic conversion of a given class of objects to a new class of objects. A GUID in the form xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx. No
InsertableObject Indicates that this class is insertable. Boolean. No
ShortDisplayName A short version of the class display name. A string 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.

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.

Examples

Requirements

Value
Namespace http://schemas.microsoft.com/appx/manifest/com/windows10