Monitoring the Status of an Enhancement Control

[This is preliminary documentation and subject to change.]

The ipsend object provides methods that enable your application to monitor the status of an Enhancement control running in the same process as the ipsend object. If your application is using an Enhancement control, for example to review a newly created interactive show, you can use this functionality to monitor when the control is created, connects to a data stream, handles a trigger, is destroyed, and so on.

In order for your application to be able to monitor the control status, it must set ipsend.ReportStatus to a non-zero value. This causes in-process enhancement controls to send status messages. By default, such messages are not sent.

Note  If your application sets ReportStatus to a non-zero value, it must reset this value to zero when it no longer needs enhancement status reports or before it terminates. Otherwise, the ipsend object will not exit memory because of circular references to an internal status object.

Once your application has set ReportStatus to a non-zero value, it will receive ipsend.StatusChanged events whenever the enhancement control's state changes. You can implement an event handler in your application to process this event.

Your application can also check the status of the enhancement control using the ipsend.Status property. Once ReportStatus is set to a non-zero value, this property will contain the current status of the enhancement control running in the same process as ipsend.

Note  If you have multiple enhancement controls running in the same process as ipsend, the ipsend object cannot distinguish between status change notifications for each enhancement control. To avoid confusion, it is recommended that you have only one enhancement control running in-process with ipsend.