IDTSDesigntimeComponent100 Interface

Defines the design-time methods of a data flow component written in C++ and COM.

Namespace:  Microsoft.SqlServer.Dts.Pipeline.Wrapper
Assembly:  Microsoft.SqlServer.DTSPipelineWrap (in Microsoft.SqlServer.DTSPipelineWrap.dll)

public interface IDTSDesigntimeComponent100

The IDTSDesigntimeComponent100 type exposes the following members.

Public methodAcquireConnectionsEstablishes a connection to a connection manager.
Public methodDeleteExternalMetadataColumnDeletes the external metadata column at the specified index from the collection of external metadata columns.
Public methodDeleteInputDeletes an IDTSInput100 object from the IDTSInputCollection100 collection.
Public methodDeleteOutputDeletes an IDTSOutput100 object from the IDTSOutputCollection100 collection.
Public methodDeleteOutputColumnDeletes an IDTSOutputColumn100 object from the IDTSOutputColumnCollection100 collection.
Public methodDescribeRedirectedErrorCodeReturns the description of the specified error code.
Public methodGetEnumerationCollectionReturns the IDTSFriendlyEnumCollection100 of a component.
Public methodInsertExternalMetadataColumnAtInserts a new external metadata column into the collection of external metadata columns at the specified index.
Public methodInsertInputAdds an IDTSInput100 object to the IDTSInputCollection100.
Public methodInsertOutputAdds a new IDTSOutput100 object.
Public methodInsertOutputColumnAtCreates a new IDTSOutputColumn100 object and inserts it into the IDTSOutputColumnCollection100.
Public methodMapInputColumnEstablishes a relationship between an input column and a corresponding external metadata column.
Public methodMapOutputColumnEstablishes a relationship between an output column and a corresponding external metadata column.
Public methodOnDeletingInputColumnCalled when deleting an IDTSInputColumn100 object from the IDTSInputColumnCollection100.
Public methodOnInputPathAttachedCalled when an IDTSInput100 object is connected to another component through the IDTSPath100 interface.
Public methodOnInputPathDetachedCalled when an IDTSPath100 object that contains the specified IDTSInput100 object is deleted.
Public methodOnOutputPathAttachedCalled when an IDTSOutput100 object of the component is attached to a downstream component.
Public methodProvideComponentPropertiesInitializes the ComponentMetaData of the component when a component is first added to the data flow task.
Public methodReinitializeMetaDataFixes any errors identified during design-time validation that result in the component returning VS_NEEDSNEWMETADATA.
Public methodReleaseConnectionsFrees the connections established during AcquireConnections at either design time or run time.
Public methodSetComponentPropertyAssigns a value to an IDTSCustomProperty100 of a component.
Public methodSetExternalMetadataColumnDataTypePropertiesSets the data type properties of the specified external metadata column.
Public methodSetExternalMetadataColumnPropertySets an individual property of an external metadata column.
Public methodSetInputColumnPropertyAssigns a value to the IDTSCustomProperty100 of an IDTSInputColumn100 object.
Public methodSetInputPropertyAssigns a value to the IDTSCustomProperty100 of an IDTSInput100 object.
Public methodSetOutputColumnDataTypePropertiesSets the data type properties of an IDTSOutputColumn100 object.
Public methodSetOutputColumnPropertySets the value of an IDTSCustomProperty100 for an IDTSOutputColumn100 object.
Public methodSetOutputPropertySets the value of an IDTSCustomProperty100 on an IDTSOutput100 object.
Public methodSetUsageTypeCreates an IDTSInputColumn100 object in the IDTSInputColumnCollection100 of the component and sets the UsageType property of the column.
Public methodValidateVerifies that the component is correctly configured.

This interface is one of two interfaces implemented by data flow components; IDTSRuntimeComponent100 is the other. This interface defines the design-time interface for a component and contains methods that are called when the component properties and collections of the ComponentMetaData are modified. Managed component developers do not explicitly implement this interface, and instead use the PipelineComponent base class, which implements the methods of both these interfaces.

When programmatically adding or modifying existing components in a data flow task, the design-time instance of a component should be used instead of accessing the component metadata directly. Modifying the ComponentMetaData directly bypasses the ability of the component to validate and reject changes to its metadata, and should be avoided. Managed code developers access the design-time instance of a component, and use the methods of the IDTSDesigntimeComponent100 interface, through the CManagedComponentWrapper.

The following code example demonstrates how to access the design-time instance of a component.

Package p = new Package();
MainPipe dataFlow = ((TaskHost)p.Executables.Add("SSIS.Pipeline.2")).InnerObject as MainPipe;

IDTSComponentMetaData100 md = dataFlow.ComponentMetaDataCollection.New();
md.ComponentClassID = "DTSAdapter.OleDbSource";
CManagedComponentWrapper wrp = md.Instantiate();