Bob -
Some key issues to better understand are the following:
1) Almost all COM objects in TestStand derive from the PropertyObject interface. We did this so that internals of an object, like a SequenceFile, can store information in a tree structure and that tree structure can be explored. It also allows us to easily persist objects into a stream or to disk.
2) When you pass a reference as a parameter, it is an IUnknown COM pointer. A reference object does not do anything special to understand what it is, so it does not know it is a sequence file.
3) The PropertyObject interface has an alias feature and this is what the context uses to display items like RunState.SequenceFile.
To create an alias object to an object that is derived from PropertyObject, you must use an ActiveX call, specifically:
Locals.MyAliasContainer.SetPropertyObject("", PropOption_NotOwning, Parameters.RefObj)
This replaces "Locals.MyAliasContainer" with the container that "Parameters.RefObj" references.
Take a look at the online help for PropertyObject.IsAliasObject for a little more information on aliases.
Scott Richardson
https://testeract.com