SendMailTask.InitializeTask Method

Initializes the properties associated with the task. This method is called by the runtime and is not used in code.

Namespace:  Microsoft.SqlServer.Dts.Tasks.SendMailTask
Assembly:  Microsoft.SqlServer.SendMailTask (in Microsoft.SqlServer.SendMailTask.dll)

public override void InitializeTask(
	Connections connections,
	VariableDispenser variableDispenser,
	IDTSInfoEvents events,
	IDTSLogging log,
	EventInfos eventInfos,
	LogEntryInfos logEntryInfos,
	ObjectReferenceTracker refTracker


Type: Microsoft.SqlServer.Dts.Runtime.Connections
A collection of connections used by the task.
Type: Microsoft.SqlServer.Dts.Runtime.VariableDispenser
A P:Microsoft.SqlServer.Dts.Runtime.DtsContainer.VariableDispenser object for locking variables.
Type: Microsoft.SqlServer.Dts.Runtime.IDTSInfoEvents
An object implementing the T:Microsoft.SqlServer.Dts.Runtime.IDTSInfoEvents interface.
Type: Microsoft.SqlServer.Dts.Runtime.IDTSLogging
An object implementing the T:Microsoft.SqlServer.Dts.Runtime.IDTSLogging interface.
Type: Microsoft.SqlServer.Dts.Runtime.EventInfos
A collection containing events to be raised during execution of the task.
Type: Microsoft.SqlServer.Dts.Runtime.LogEntryInfos
A collection of log entries.
Type: Microsoft.SqlServer.Dts.Runtime.ObjectReferenceTracker
An object reference tracker.

For the SendMailTask and all other stock tasks, this method is used to set the log events of each task.

The SSIS runtime calls InitializeTask immediately after the task is created, before validation, execution, or persistence operations.

Task developers define custom events by overriding the InitializeTask method of the Task base class, and creating a new EventInfo. The following code sample shows the InitializeTask method of a custom task, where two custom events are created, and added to the eventInfos collection.

public override void InitializeTask(Connections connections, VariableDispenser variables, IDTSInfoEvents events, IDTSLogging log, EventInfos eventInfos, LogEntryInfos logEntryInfos, ObjectReferenceTracker refTracker)
    this.eventInfos = eventInfos;
    string[] paramNames = new string[1];
    TypeCode[] paramTypes = new TypeCode[1]{TypeCode.Int32};
    string[] paramDescriptions = new string[1];

    paramNames[0] = "InitialValue";
    paramDescriptions[0] = "The value before increment.";

    this.eventInfos.Add("OnBeforeIncrement","Fires before the task increments the value.",true,paramNames,paramTypes,paramDescriptions);
    this.onBeforeIncrement = this.eventInfos["OnBeforeIncrement"];

    paramDescriptions[0] = "The value after increment.";
    this.eventInfos.Add("OnAfterIncrement","Fires after the initial value is updated.",true,paramNames, paramTypes,paramDescriptions);
    this.onAfterIncrement = this.eventInfos["OnAfterIncrement"];

Community Additions