SPWorkflowManager.StartWorkflow method (Object, SPWorkflowAssociation, String, SPWorkflowRunOptions)

Creates and starts a new workflow instance on a specified object, based on a specified workflow association, with specified event parameters, and with specified options for running the workflow instance.

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

Syntax

'Declaration
Public Function StartWorkflow ( _
    context As Object, _
    association As SPWorkflowAssociation, _
    eventData As String, _
    runOptions As SPWorkflowRunOptions _
) As SPWorkflow
'Usage
Dim instance As SPWorkflowManager
Dim context As Object
Dim association As SPWorkflowAssociation
Dim eventData As String
Dim runOptions As SPWorkflowRunOptions
Dim returnValue As SPWorkflow

returnValue = instance.StartWorkflow(context, _
    association, eventData, runOptions)
public SPWorkflow StartWorkflow(
    Object context,
    SPWorkflowAssociation association,
    string eventData,
    SPWorkflowRunOptions runOptions
)

Parameters

  • context
    Type: System.Object

    The object on which to run the workflow.

  • eventData
    Type: System.String

    A string that contains event parameters.

  • runOptions
    Type: Microsoft.SharePoint.Workflow.SPWorkflowRunOptions

    An enumeration value that specifies how the workflow instance should run.

    If the argument is RunOptions.Synchronous, the method tries to start the workflow immediately; if it cannot be started immediately, then the method returns a null reference (Nothing in Visual Basic).

    If the argument is RunOptions.SynchronousAllowPostpone, the method tries to start the workflow immediately; if it cannot be started immediately, it is deferred and the method returns an SPWorkflow object referencing the unstarted workflow.

    If the argument is RunOptions.Asynchronous, then the start of the workflow is deferred and the method returns an SPWorkflow object referencing the unstarted workflow.

Return value

Type: Microsoft.SharePoint.Workflow.SPWorkflow
The new workflow instance or a null reference (Nothing in Visual Basic), depending on the argument to the runOptions 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.

See also

Reference

SPWorkflowManager class

SPWorkflowManager members

StartWorkflow overload

Microsoft.SharePoint.Workflow namespace