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,
//binary string that contains the name of the object
VARIANT var //VARIANT that 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.