SPWorkflowManager.StartWorkflow method (SPListItem, SPWorkflowAssociation, String, Boolean)

Creates and starts a new workflow instance on a specified list item, based on a specified workflow association, with specified event parameters, and optionally indicates whether this workflow is starting automatically or manually.

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

Syntax

'Declaration
Public Function StartWorkflow ( _
    item As SPListItem, _
    association As SPWorkflowAssociation, _
    eventData As String, _
    isAutoStart As Boolean _
) As SPWorkflow
'Usage
Dim instance As SPWorkflowManager
Dim item As SPListItem
Dim association As SPWorkflowAssociation
Dim eventData As String
Dim isAutoStart As Boolean
Dim returnValue As SPWorkflow

returnValue = instance.StartWorkflow(item, _
    association, eventData, isAutoStart)
public SPWorkflow StartWorkflow(
    SPListItem item,
    SPWorkflowAssociation association,
    string eventData,
    bool isAutoStart
)

Parameters

  • eventData
    Type: System.String

    A string that contains event parameters.

  • isAutoStart
    Type: System.Boolean

    If the argument is true, then the method tries to start the workflow immediately; if it cannot be started immediately, then the start is deferred and an SPWorkflow object referencing the unstarted workflow is returned. If the argument is false, the method tries to start the workflow immediately; if it cannot be started immediately, then a null reference (Nothing in Visual Basic) is returned.

Return value

Type: Microsoft.SharePoint.Workflow.SPWorkflow
A new workflow instance or a null reference (Nothing in Visual Basic), depending on the argument to the isAutoStart parameter.

Exceptions

Exception Condition
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.

Remarks

This method calls the StartWorkflow(Object, SPWorkflowAssociation, String, SPWorkflowRunOptions) method with itemas object, association, eventData, and SynchronousAllowPostpone if isAutoStart is true, otherwise with Asynchronous.

See also

Reference

SPWorkflowManager class

SPWorkflowManager members

StartWorkflow overload

Microsoft.SharePoint.Workflow namespace

Other resources

Workflows in Windows SharePoint Services

Workflow Development for Windows SharePoint Services

Workflow Object Model in Windows SharePoint Services Overview