The IApplicationObject::putref_Value method stores an Automation object in the Application Object. Equivalent to put_Value for non-Automation objects.
HRESULT putref_Value(
BSTR bstrValue, // contains the name of the object
VARIANT var // contains the object reference
);
You can use this method to create a reference to an Automation object. You should be careful about using this method, because giving some Automation objects application scope will have a negative impact on server performance. For more information, see Selecting a Threading Model.