Siebel Service Handheld Guide > COM Extensibility > About COM Extensibility >
Obtaining and Using Action Request Interface References
The action request interface corresponding to the application object (ISHCEApplication) allows access to all other ISHCEActionReq derived interfaces. A pointer to this interface is stored in m_pApp, which is a member of the CSiebelSCECBase class. For example, ISHCEApplication::ActiveApplet returns a reference to the ISHCEApplet interface of the active applet. Similarly, a reference to the Contact business component can be obtained by invoking ISHCEBusObject::GetBusComp on the business object interface reference returned by ISHCEApplication::GetBusObject.
A SCEC is also passed a reference to the corresponding action request object of the Siebel object that created it. For example, a SCEC implementing ISHCEAppletEvent will be able to access the ISHCEApplet interface reference of the current applet. A pointer to this interface is stored in m_pRootObj, which is a member of the CSiebelSCECBase class.
A SCEC can use this interface to obtain references to other action request interfaces. For example, if created from a service, a SCEC could access the service's property set using the ISHCEService::GetPropertySet method. Once the SCEC handles an event and returns control to the Siebel object that created it, the action request interfaces are invalidated and can no longer be used by the SCEC. Only action requests invoked on the same thread as event notification (the SCEC method invoked by the Siebel object) are supported. When the SCEC has finished handling the event, it releases all action request interface pointers.