This document is archived and information here might be outdated. Recommended version. |
Changes the class extension COM class associated with this database class.
[Visual Basic .NET] Public Sub AlterClassExtensionCLSID ( _ ByVal ClassExtensionCLSID As UID, _ ByVal classExtensionProperties As IPropertySet _ )
[C#] public void AlterClassExtensionCLSID ( UID ClassExtensionCLSID, IPropertySet classExtensionProperties );
[C++]
HRESULT AlterClassExtensionCLSID(
IUID* ClassExtensionCLSID,
IPropertySet* classExtensionProperties
);
[C++] Parameters ClassExtensionCLSID [in]
ClassExtensionCLSID is a parameter of type IUID* classExtensionProperties [in]
classExtensionProperties is a parameter of type IPropertySet*
The AlterClassExtensionCLSID method is used to change the class extension for an object class in the Geodatabase. For example, you may have a class to which you want to associate a class extension that you have developed. You use the AlterClassExtensionCLSID to do so.
AlterClassExtensionCLSID will try to instantiate the object for the class extension that you provide. If it fails to instantiate it, the method will fail. Therefore, you must have the DLL which has the implementation of your class extension registered on your system before you call AlterClassExtensionCLSID.
Before you QI for AlterClassExtensionCLSID, you will have had to open the object class. So, if this fails because you no longer have the DLL registered on your system for a class extension that is already associated with the class, then you must use the IFeatureWorkspaceSchemaEdit interface to alter the class extension CLSID.
IClassSchemaEdit Interface | IFeatureWorkspaceSchemaEdit Interface | IObjectClassExtension Interface