3.1.1.3.3 ComponentLegacyConfigurations Table

The entries in the ComponentLegacyConfigurations table represent component legacy configurations.

Table identifier: {09487519-892D-4CA0-A00B-58EEB1662A68}

AuxiliaryGuid: None.

Present in catalog version: 4.00 and 5.00.

Prerequisites: None.

Hidden bitness property: No.

Supported query templates:

Cell 1

 ConglomerationIdentifier equals <A>

Primary key: CLSID, ConfigurationBitness.

Other referential constraints: There MUST NOT exist an entry in the ComponentsAndFullConfigurations table with identical values for CLSID and ConfigurationBitness properties.

Write restrictions: Add MUST NOT be supported.

Update and remove MUST be supported if and only if:

  • The conglomeration identified by ConglomerationIdentifier has the value "Y" for Changeable.

  • The conglomeration identified by ConglomerationIdentifier has the value "N" for IsSystem.

Cascade: None.

Populate: N/A.

Properties:

Index (4.00/5.00)

Property name

Type

Size

Flags

Meta

0

CLSID

eDT_GUID

16

0x00000001

RO

1

ConfigurationBitness

eDT_ULONG

4

0x00000003

RO

2

Description

eDT_LPWSTR

variable

0x00000000

3

ProgID

eDT_LPWSTR

variable

0x00000000

RO

4

InprocServerPath

eDT_LPWSTR

variable

0x00000000

RO

5

InprocHandlerPath

eDT_LPWSTR

variable

0x00000000

RO

6

ThreadingModel

eDT_LPWSTR

variable

0x00000000

RO

7

LocalServerPath

eDT_LPWSTR

variable

0x00000000

RO

8

IsEnabled

eDT_ULONG

4

0x00000002

9

ConglomerationIdentifier

eDT_GUID

16

0x00000000

RO

10

Internal1

eDT_ULONG

4

0x00000000

IN

11

LegacyConglomerationIdentifier

eDT_GUID

16

0x00000000

RO

12

Name

eDT_LPWSTR

variable

0x00000000

RO

13

RemoteServerName

eDT_LPWSTR

variable

0x00000000

14

ServiceName

eDT_LPWSTR

variable

0x00000000

15

ServiceParameters

eDT_LPWSTR

variable

0x00000000

16

SurrogatePath

eDT_LPWSTR

variable

0x00000000

17

RunAs

eDT_LPWSTR

variable

0x00000000

18

Password

eDT_LPWSTR

variable

0x00000000

19

ActivateAtStorage

eDT_LPWSTR

4

0x00000004

20

LaunchPermissions

eDT_BYTES

variable

0x00000000

21

AccessPermissions

eDT_BYTES

variable

0x00000000

22

AuthenticationLevel

eDT_ULONG

4

0x00000000

23

SRPLevel

eDT_ULONG

4

0x00000000

In the previous table, internal properties (marked with IN in the Meta column) MUST NOT be written to or interpreted by the client. The server's use of these properties is implementation-specific because it does not affect interoperability.

CLSID: The CLSID of the component.<95>

ConfigurationBitness: A BitnessProperty (section 2.2.2.5) representing the bitness configured for the component.<96>

Description: A DescriptionProperty (section 2.2.2.7) providing a human-readable description of the component.<97>

ProgID: If not null, a ScriptingProgramIdProperty (section 2.2.2.4) of the component (or component bitness).<98>

InprocServerPath: If not null, an ImplementationSpecificPathProperty (section 2.2.2.2) providing a path to a module of the component that is supported for full configuration.<99>

InprocHandlerPath: If not null, an ImplementationSpecificPathProperty providing a path to an alternate module of the component, which is not supported for full configuration.<100>

ThreadingModel: A ThreadingModelStringProperty (section 2.2.2.3.2) representing the restrictions, if any, that the ORB is to place on the types of threads on which the instantiations of the component (or component bitness) will be hosted. <101>

LocalServerPath: If not null, an ImplementationSpecificPathProperty providing a path to an alternate module of the component, which is not supported for full configuration.<102> The character length of this field MUST be between 1 and 260.

IsEnabled: A BooleanProperty (section 2.2.2.9) that indicates whether the server is to enable instantiation of the component by the ORB.<103>

ConglomerationIdentifier: The conglomeration identifier of the conglomeration containing the configuration.

LegacyConglomerationIdentifier: An ORB for historical reasons can provide a facility to specify a conglomeration stored in some alternate store on the server by means of another unique identifier. This identifier is given through this property.<104>

Name: If not null, a NameProperty (section 2.2.2.6) providing a human-readable name of the component.<105>

RemoteServerName: If not null, a ComputerNameOrAddressProperty (section 2.2.2.16) indicating the remote server on which the ORB is to attempt to instantiate the component.<106>

ServiceName: If not null, an ORBSpecificAlternateLaunchNameProperty (section 2.2.2.13.4) for use in an alternate launch mechanism, which the ORB is to use when instantiating the component.<107>

ServiceParameters: If not null, an ORBSpecificAlternateLaunchParametersProperty (section 2.2.2.13.5) providing additional parameters an ORB is to use when using an alternate launch mechanism for the component.<108>

SurrogatePath: If not null, an ImplementationSpecificPathProperty providing a path to a file that the ORB is to use to host the module specified in InprocServer.<109>

RunAs: If not null, a SecurityPrincipalNameProperty (section 2.2.2.17) indicating the security principal to be used by the ORB for the process hosting the component.<110>

Password: If not null, a PasswordProperty (section 2.2.2.18) indicating the password for the security principal specified in the RunAs property.<111> Although for historical reasons, this property does not have the fPROPERTY_NOTPERSISTABLE (section 2.2.1.7) flag, it MUST NOT be persisted in plaintext or returned to the client.

ActivateAtStorage: An ORB can provide a facility to activate a component based on the location of a file.<112> The specification and details of how the file path is given is ORB-specific. This property is a LegacyYesNoProperty (section 2.2.2.20) that indicates whether this feature is to be used.

AccessPermissions: If not null, a SecurityDescriptorProperty (section 2.2.2.21) indicating the access permissions to be used by the ORB to authorize clients to call methods on the component instance.<113>

LaunchPermissions: If not null, a SecurityDescriptorProperty indicating the access permissions used by the ORB to allow clients to launch instantiate collections for the component.<114>

AuthenticationLevel: A DefaultAuthenticationLevelProperty (section 2.2.2.22) indicating the authentication level the ORB is to use for instances of the component. <115>

SRPLevel: A TrustLevelProperty (section 2.2.2.24) indicating he trust level that is to be used by the ORB in an ORB-specific manner to control instantiation of the component <116>