Provides access to members that define an extension.
IExtension is implemented by developers of custom extensions. You do not normally use this interface from client code, other than to get the name of the extension.
Any extension that is registered with an application is automatically loaded and unloaded by the application; the end user does nothing to load or unload. For example, an extension that has been added to the ESRI Mx Extensions category will be started when ArcMap is started and will be shutdown when ArcMap is shutdown.
Use the IExtension interface to query the properties of an extension or to create your own extension.
When you are creating a new extension, you need to implement the IExtension interface in your class code. This interface allows you to set the name of the extension and specify what action takes place when the extension is started or shutdown.
| Description | ||
|---|---|---|
![]() |
Name | The name of the extension. |
![]() |
Shutdown | Shuts down the extension. |
![]() |
Startup | Starts up the extension with the given initialization data. |
| CoClasses and Classes | Description |
|---|---|
| Adjustment (esriEditorExt) | The Adjustment Tools Editor Extension. |
| AnimationExtension (esriAnimation) | The Animation Extension Object. |
| AnnotationEditExtension (esriEditor) | An editor extension for creating and editing annotation features. |
| ArcMapSurveyExtension (esriSurveyExt) | ArcMapSurveyExtension Class |
| ArcPadExtension (esriEditorExt) | The ArcPad Tools Extension. |
| ArcPressExtension (esriOutputExtensions) | Class that controls the ArcPress Extension. |
| ArcToolboxExtension (esriGeoprocessingUI) | |
| AttributeWindow (esriEditor) | Dialog for inspecting selected/editable features. |
| CadastralEditorExtension (esriCadastralUI) | Cadastral Editor Extension Object. |
| CadastralManagerExtension (esriCadastralUI) | Cadastral Manager Extension Object. |
| CenterlinesSnap (esriArcScan) | Snap agent that snaps to the centerlines of a raster. |
| COGOSurveyEditorExtension (esriSurveyPkgs) | COGOSurveyEditorExtension Class |
| ConflictsWindow (esriEditor) | Window used to resolve versioning conflicts. |
| CornerSnap (esriArcScan) | Snap agent that snaps to the corners of a raster. |
| DddEnvironment (esri3DAnalystUI) | 3D Environment singleton object. |
| DddServerEnvironment (esriGeoDatabase) | 3D Server Environment (license) singleton object. |
| DigitizerExtension (esriEditor) | Extension for working with the digitizer. |
| DimensionEditExtension (esriEditor) | An editor extension for creating and editing dimension features. |
| Editor (esriEditor) | The Object Editor Extension. |
| EndsSnap (esriArcScan) | Snap agent that snaps to the ends of a raster. |
| EngineEditor (esriControls) | A singleton object representing the Engine editing environment. |
| EngineNetworkAnalystEnvironment (esriControls) | A singleton object representing Engine Network Analyst environment. |
| EngineSnappingWindow (esriControls) | |
| FeatureSnap (esriEditor) | Snap agent that snaps to a feature in a specified way. |
| FMEExtension (esriDataInteropUI) | FMEExtension Class |
| FMEExtensionHelper (esriDataInterop) | FMEExtensionHelper Class |
| GNetExtension (esriArcMapUI) | GNet Extension. |
| GpsExtension (esriArcMapUI) | The GPS extension object. |
| HatchExtension (esriLocationUI) | A container for defining the route hatching extension and describing its current state. |
| IntersectionSnap (esriArcScan) | Snap agent that snaps to the intersections of a raster. |
| LicensedDataExtension (esriDataSourcesFile) | The Licensed Data Extension. |
| LinkCommandExtension (esriSurveyExt) | LinkCommandExtension Class |
| LocatorExtension (esriLocationUI) | An extension for locators in ArcMap. |
| MAExtension (esriDefenseSolutions) | MAExtension Class |
| MaplexExtension (esriMaplexUI) | Represents the Maplex Extension. |
| MetadataExtension (esriCatalogUI) | Provides access to metadata extension. |
| NADirectionsWindowManager (esriNetworkAnalystUI) | Network Analyst Directions Window Manager Class. |
| NetworkAnalystExtension (esriNetworkAnalystUI) | The extension for network analysis. |
| PointToolsSurveyEditorExtension (esriSurveyPkgs) | PointToolsSurveyEditorExtension Class |
| Publisher (esriPublisherUI) | The Publisher Extension coclass. |
| RasterCleanup (esriArcScan) | The Raster Cleanup Extension. |
| SAExtension (esriSpatialAnalystUI) | Spatial Analyst Extension Object. |
| SchematicExtension (esriSchematicUI) | Schematic Extension object. |
| SketchPropertiesWindow (esriEditor) | Dialog for modifying sketch geometry. |
| SMWindow (esriDataSourcesSMUUI) | Implements Street map Window. |
| SolidSnap (esriArcScan) | Snap agent that snaps to the solids of a raster. |
| StreetMapExtension (esriDataSourcesSMUUI) | StreetMap USA extension. |
| SurveyAnalyst (esriSurveyExt) | SurveyAnalyst Class |
| SurveyEditor (esriSurveyExt) | SurveyEditor Class |
| SurveyPointInToleranceCommandExtension (esriSurveyPkgs) | SurveyPointInToleranceCommandExtension Class |
| SurveyPointMergeToolExtension (esriSurveyPkgs) | SurveyPointMergeToolExtension Class |
| TAExtension (esriTrackingAnalystUI) | Defines the coclass for the TAExtension implementation. |
| TopologyExtension (esriEditorExt) | Extension for working with topology. |
| TrackingEngineUtil (esriTrackingAnalyst) | A general purpose Utility object for Tracking Analyst that provides a common way to access and determine the processing environment. |
| TraverseWindow (esriEditor) | Dialog for creating traverses. |
| UtilityNetworkAnalysisExt (esriEditorExt) | A container for defining the Utility Network Analysis extension and describing its current state. |
| Vectorization (esriArcScan) | The Vectorization ArcMap Extension. |
If you want your extension to be exposed in the Extensions dialog, you would also implement the IExtensionConfig interface. The class module for your extension would implement both IExtension and IExtensionConfig.
IApplication.FindExtensionByCLSID Method | IApplication.FindExtensionByName Method | IExtensionAccelerators Interface | IExtensionConfig Interface | IExtensionManager Interface