Cancel State Change via API

Is there a way to cancel a user initiated state change via the Enterprise PDM API?  I am performing some work in response to the EdmCmdType.EdmCmd_PreState event, and I would like to cancel the state change in certain circumstances.  Throwing a COMException from my C# code works, but seems like a kludge.

Jim S.

SolidworksApi macros