Share via


CRMProcessController.IsObjectInProcess Method

The IsObjectInProcess method checks whether an object is currently in an active process instance.

Syntax

[Visual Basic .NET]
Public Function IsObjectInProcess(
  ByVal Caller As CUserAuth,
  ByVal ProcessType As WORKFLOW_PROCESS_TYPE,
  ByVal Object As CObjectName
) As Integer
[C#]
public int IsObjectInProcess(
  CUserAuth  Caller,
  WORKFLOW_PROCESS_TYPE  ProcessType,
  CObjectName  Object
);
[C++]
public: long IsObjectInProcess(
  CUserAuth*  Caller,
  WORKFLOW_PROCESS_TYPE  ProcessType,
  CObjectName*  Object
);

Parameters

Caller

Specifies the identity of the caller. To perform this action, the caller must have the prvReadWorkflowProcessInstance privilege and access rights on the object. See CUserAuth.

WORKFLOW_PROCESS_TYPE

Specifies the process type. See WORKFLOW_PROCESS_TYPE.

Object

Specifies the object. See CObjectName.

Return Value

Returns an Int32 type that specifies true (non-zero) or false (zero).

Remarks

If there is an error, SOAP throws an exception and the error message is reported in System.Web.Services.Protocols.SoapException.Detail.OuterXml.

All IDs passed to the platform are GUIDs wrapped in braces. For example: {6522D89A-A752-4455-A2B0-51494C6957C3}

Example

[C#]
// strServer should be set with the name of the platform Web server
string strServer = "myservername";

// virtualDirectory should be set with the name of the Microsoft CRM
// virtual directory on the platform Web server
string virtualDirectory = "mscrmservices";
string strDir = "https://" + strServer + "/" + virtualDirectory + "/";

// BizUser proxy object
Microsoft.Crm.Platform.Proxy.BizUser bizUser = new Microsoft.Crm.Platform.Proxy.BizUser ();
bizUser.Credentials = System.Net.CredentialCache.DefaultCredentials;
bizUser.Url = strDir + "BizUser.srf";

// CRMProcessController proxy object
Microsoft.Crm.Platform.Proxy.CRMProcessController   processcontroller  = new Microsoft.Crm.Platform.Proxy.CRMProcessController();
processcontroller.Credentials = System.Net.CredentialCache.DefaultCredentials;
processcontroller.Url = strDir + "CRMProcessController.srf";

string strErrorMsg;
try
{
   Microsoft.Crm.Platform.Proxy.CUserAuth userAuth = bizUser.WhoAmI();

   string strLeadId = "{4AAD6AD1-244C-4270-86A2-046BF3CAC92F}";

   Microsoft.Crm.Platform.Proxy.CObjectName objName = new Microsoft.Crm.Platform.Proxy.CObjectName();
   objName.Id = strLeadId;
   objName.Type = Microsoft.Crm.Platform.Proxy.ObjectType.otLead;

   int flag = processcontroller.IsObjectInProcess (userAuth, Microsoft.Crm.Platform.Proxy.WORKFLOW_PROCESS_TYPE.WFPT_WORKFLOW_PROCESS, objName);
}
catch (System.Web.Services.Protocols.SoapException err)
{
   // Process the platform error here
   strErrorMsg = ("ErrorMessage: " + err.Message + " " + err.Detail.OuterXml + " Source: " + err.Source );
}
catch (Exception err)
{
   // Process other errors here
   strErrorMsg = ("ErrorMessage: " + err.Message );
}

Requirements

Namespace: Microsoft.Crm.Platform.Proxy

Assembly: Microsoft.Crm.Platform.Proxy.dll

See Also

© 2005 Microsoft Corporation. All rights reserved.