SPWorkflowManager.StartWorkflow method (SPListItem, SPWorkflowAssociation, String)

Creates and starts a new workflow instance on a specified list item, based on a specified workflow association, with specified event parameters.

Namespace:  Microsoft.SharePoint.Workflow
Assembly:  Microsoft.SharePoint (in Microsoft.SharePoint.dll)

public SPWorkflow StartWorkflow(
	SPListItem item,
	SPWorkflowAssociation association,
	string eventData
)

Parameters

item
Type: Microsoft.SharePoint.SPListItem

The list item on which to start the workflow instance.

association
Type: Microsoft.SharePoint.Workflow.SPWorkflowAssociation

The workflow association on which to base the new workflow instance.

eventData
Type: System.String

A string that contains event parameters.

Return value

Type: Microsoft.SharePoint.Workflow.SPWorkflow
If the workflow can be started immediately, the method returns a new workflow instance. If it cannot be started immediately, then the method returns a null reference (Nothing in Visual Basic).

ExceptionCondition
ArgumentNullException

The argument to the item parameter or the association parameter is a null reference (Nothing in Visual Basic).

ArgumentException

The workflow association passed to the association parameter is not compatible with the list item passed to the item parameter. The item might have the wrong content type or belong to the wrong type of list. Or the content type of the item is derived from the WorkflowTask content type but the IsDeclarative property of the workflow association is false; only declarative workflows can be started on a task item.

An ArgumentException is also thrown if the workflow association's Enabled property is false.

UnauthorizedAccessException

The current user has insufficient permissions to start the workflow.

SPException

The item is currently locked due to a short term lock or check-out.

This method calls the StartWorkflow(SPListItem, SPWorkflowAssociation, String, Boolean) method with item, association, eventData, true.

Show: