Platform SDK: Exchange 2000 Server

ICustomActivity Interface

[This is preliminary documentation and subject to change.]

Supports using COM objects as action table conditions, actions, or compensating actions.

IID
CD001105-8B95-11D1-82DB-00C04FB1625D
Extends
IDispatch

Member Summary

Name Description
CompensatingAction The workflow engine calls this method when a process instance transition gets aborted and the action table specifies a custom COM object as the compensating action. The custom COM object must implement this method.
EvaluateCondition The workflow engine calls this method when the action table specifies a custom COM object as the condition on the matching row. The custom COM object must implement this method.
ExecuteAction The workflow engine calls this method when the matching row in the action table specifies a custom COM object as the action. The custom COM object must implement this method.

Remarks

This interface needs to be implemented by any custom COM objects introduced by the workflow author. These methods correspond to the Condition, Action, and CompensatingAction fields of the action table. You specifiy which fields will use COM objects on a per-row basis by using the Flags field on each row. Flags are set by a bitwise OR of the CdoWfTransitionFlags enumeration constants.

Only privileged-mode workflows will be allowed to create COM objects.

Example

Your custom COM object must implement the CDOWF.ICustomActivity interface. The following code shows how you tell Microsoft® Visual Basic® that you are implementing the interface and allows the class to accept COM QueryInterface calls for the specified interface. You must implement all three methods or you will get an error.

When you implement an interface or class, you must include all the Public procedures involved. A missing member in an implementation of an interface or class causes an error. If you don't place code in one of the procedures in a class you are implementing, you can raise the appropriate error (Const E_NOTIMPL = &H80004001) so a user of the implementation understands that a member is not implemented.

[Visual Basic]
Implements CDOWF.ICustomActivity


Sub CompensatingAction(ByVal pSession As CDOWF.IWorkflowSession)

End Sub


Function EvaluateCondition(ByVal pSession As CDOWF.IWorkflowSession) As Boolean

End Function


Sub ExecuteAction(ByVal pSession As CDOWF.IWorkflowSession)

End Sub

See Also

IProcessDefinition_Mode