WmiEventWatcherTask.InitializeTask Method

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

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

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

Parameters

connections
Type: Microsoft.SqlServer.Dts.Runtime.Connections
A Connections collection for the task.
variableDispenser
Type: Microsoft.SqlServer.Dts.Runtime.VariableDispenser
A VariableDispenser object for locking variables.
events
Type: Microsoft.SqlServer.Dts.Runtime.IDTSInfoEvents
An object that implements the IDTSInfoEvents interface for receiving events.
log
Type: Microsoft.SqlServer.Dts.Runtime.IDTSLogging
An object that implements the IDTSLogging interface for logging events.
eventInfos
Type: Microsoft.SqlServer.Dts.Runtime.EventInfos
A EventInfos object.
logEntryInfos
Type: Microsoft.SqlServer.Dts.Runtime.LogEntryInfos
A LogEntryInfos object.
refTracker
Type: Microsoft.SqlServer.Dts.Runtime.ObjectReferenceTracker
An ObjectReferenceTracker object.

For the WmiEventWatcherTask and all other stock tasks, this method is used to set the log events of each task. The Integration Services run-time engine calls this method immediately after the task is created, and 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 in which 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

ADD
Show: