IDocumentVersionSupportGEN Interface

Provides access to extend the IObjectStream interface with methods to hande saving objects that did not exist in previous versions of the software.

When To Use

Use IDocumentVersionSupportGEN when extending ArcGIS with new objects that may be persisted in the document stream. If you implement IPersistStream or IPersistStreamVariant on a new custom object you should also implement IDocumentVersionSupportGEN.


Name Description
Method ConvertToSupportedObject Convert the object to another object that is supported.
Method IsSupportedAtVersion Is this object valid at the given document version.

IDocumentVersionSupportGEN.ConvertToSupportedObject Method

Convert the object to another object that is supported.

Public Function ConvertToSupportedObject ( _
    ByVal docVersion As esriArcGISVersion _
) As Object
public object ConvertToSupportedObject (
    esriArcGISVersion docVersion


This method should be used when IDocumentVersionSupportGEN::IsSupportedAtVersion returns FALSE. Calling ConvertToSupportedObject will return an IUnknown pointer to a relevant object supported at the particular ArcGIS version. Not all objects will return a supported object; in these cases a null pointer will be returned.

IDocumentVersionSupportGEN.IsSupportedAtVersion Method

Is this object valid at the given document version.

Public Function IsSupportedAtVersion ( _
    ByVal docVersion As esriArcGISVersion _
) As Boolean
public bool IsSupportedAtVersion (
    esriArcGISVersion docVersion


Use IsSupportedAtVersion to identify if a particular object should be saved to the ObjectStream. This result is based on the esriArcGISVersion enumeration. In some instances, if the object is not supported at a particular ArcGIS version, the object may support conversion to another similar object; use IDocumentVersionSupportGEN::ConvertToSupportedObject to accomplish this.

Classes that implement IDocumentVersionSupportGEN

Classes Description
AdjustXform (esriDataSourcesRaster) An adjustment (rubber sheeting) transform class.
AngleFormat An object for formatting numbers in an angle format.
ApproximationXform (esriDataSourcesRaster) A transformation that approximates other transformations.
BuilderItem (esriDataSourcesRaster) An item built by a raster builder.
CompositeXform (esriDataSourcesRaster) A composite geodata transform collection class.
CoordinateXform (esriDataSourcesRaster) A coordinate transform class.
EpipolarXform (esriDataSourcesRaster) A transformation that map native image to epipolar image.
Formosat2Xform (esriDataSourcesRaster) A Formosat2 transform class.
FrameXform (esriDataSourcesRaster) A standard frame camera model transformation class.
GCSShiftXform (esriDataSourcesRaster) A GCS shift geodata transform class.
GeometricXform (esriDataSourcesRaster) A geometric transform class.
GeometryResultOptions (esriGeoDatabase) Esri Geometry export options object.
GPNetworkDatasetMembership (esriGeoDatabase) The Network Dataset Membership object.
IdentityXform (esriDataSourcesRaster) An identity transform class.
ImageServiceInfo (esriCarto) A class that provides information on an ArcGIS server image service.
ItemPathsOptions (esriDataSourcesRaster) Parameters that indicate path query and replacement options.
LayerResultOptions (esriCarto) Layer Result Options CoClass.
LocaleInfo An object that represents a locale info.
LSRXform (esriDataSourcesRaster) A Local Space Rectangular transform class.
MapServerIdentifyResult (esriCarto) The Map Server Identify Result coclass provides information about an 'identify result'.
MapServerRelationship (esriCarto) The Map Server Relationship coclass contains information about a relationship if one exists.
MapServerRow (esriCarto) The Map Server Row coclass contains information about a row.
PansharpeningFilter (esriDataSourcesRaster) A class for pansharpening filter.
PolynomialXform (esriDataSourcesRaster) A polynomial transform class.
ProjectiveXform (esriDataSourcesRaster) A projective transform class.
PushbroomXform (esriDataSourcesRaster) A Pushbroom sensor model class.
QueryResult (esriCarto) A Query Result CoClass for storing information about the results of a query.
QueryResultOptions (esriCarto) Query Result Options CoClass.
RasterDatasetName (esriGeoDatabase) A container for name information about a raster dataset.
RPCXform (esriDataSourcesRaster) A Rational Polynomial Coefficient (RPC) transform class.
SARXform (esriDataSourcesRaster) A SAR transform class.
ScaleFormat A utility object for formatting scale.
SICDXform (esriDataSourcesRaster) Sensor Independent Complex Data (SICD) Xform.
SplineXform (esriDataSourcesRaster) A Thin Plate Spline transform class.
SPOT5Xform (esriDataSourcesRaster) A SPOT5 1A transform class.
Time An object that represents a date and time value.
TimeDuration An object that represents a time duration value.
TimeExtent An object that represents a time-referenced time extent.
TimeInstant An object that represents a time-referenced instant in time.
TimeReference An object that represents a time reference, including a time zone.
TimeZoneInfo An object that represents a time zone information.
TimeZoneRule An object that represents a time zone dynamic adjustments rule.


When the object is about to be saved to the stream, a check is made to see if the object implements this interface. If it does, a check will be made to ensure that the object is supported for a particular ArcGIS version.

Your browser is no longer supported. Please upgrade your browser for the best experience. See our browser deprecation post for more details.